From 1f49122290d018634bb26a78a9bd37a1e8c122ce Mon Sep 17 00:00:00 2001 From: weilinfox Date: Thu, 11 Apr 2024 14:48:46 +0800 Subject: [PATCH 1/4] Add 0.8.0 mugen auto test logs and reports Signed-off-by: weilinfox --- ...13\350\257\225\347\273\223\346\236\234.md" | 102 + ...13\350\257\225\347\273\223\346\236\234.md" | 102 + ...13\350\257\225\347\273\223\346\236\234.md" | 103 + ...13\350\257\225\347\273\223\346\236\234.md" | 101 + ...13\350\257\225\347\273\223\346\236\234.md" | 101 + ...13\350\257\225\347\273\223\346\236\234.md" | 101 + ...13\350\257\225\347\273\223\346\236\234.md" | 101 + ...13\350\257\225\347\273\223\346\236\234.md" | 103 + ...13\350\257\225\347\273\223\346\236\234.md" | 102 + ...13\350\257\225\347\273\223\346\236\234.md" | 102 + ...13\350\257\225\347\273\223\346\236\234.md" | 102 + .../ruyi_test_admin/2024-04-08-23_43_29.log | 209 ++ .../2024-04-09-00_29_41.log | 2863 ++++++++++++++++ .../2024-04-09-00_04_59.log | 603 ++++ .../ruyi_test_common/2024-04-09-00_00_22.log | 930 ++++++ .../ruyi_test_config/2024-04-08-23_38_57.log | 250 ++ .../ruyi_test_device/2024-04-09-00_17_46.log | 2787 ++++++++++++++++ .../2024-04-09-00_29_37.tar.gz | Bin 0 -> 7679 bytes .../2024-04-08-23_59_12.log | 304 ++ .../2024-04-08-23_51_16.log | 282 ++ .../ruyi_test_llvm/2024-04-08-23_44_04.log | 203 ++ .../ruyi_test_news/2024-04-08-23_58_25.log | 237 ++ .../ruyi_test_qemu/2024-04-09-00_41_21.log | 169 + .../ruyi_test_venv/2024-04-09-00_38_37.log | 294 ++ .../ruyi_test_xdg/2024-04-08-23_39_39.log | 651 ++++ .../2024-04-08-23_44_40.log | 293 ++ .../ruyi_test_admin/2024-04-11-03_47_19.log | 205 ++ .../2024-04-11-03_50_41.log | 2958 +++++++++++++++++ .../2024-04-11-03_48_10.log | 600 ++++ .../ruyi_test_common/2024-04-11-03_47_23.log | 921 +++++ .../ruyi_test_config/2024-04-11-03_58_22.log | 272 ++ .../ruyi_test_device/2024-04-11-03_58_50.log | 2685 +++++++++++++++ .../2024-04-11-04_09_23.tar.gz | Bin 0 -> 4205 bytes .../2024-04-11-03_45_22.log | 294 ++ .../2024-04-11-03_45_33.log | 288 ++ .../ruyi_test_llvm/2024-04-11-03_55_05.log | 174 + .../ruyi_test_news/2024-04-11-03_48_02.log | 232 ++ .../ruyi_test_qemu/2024-04-11-03_52_20.log | 168 + .../ruyi_test_venv/2024-04-11-04_09_23.log | 264 ++ .../ruyi_test_xdg/2024-04-11-03_46_01.log | 644 ++++ .../2024-04-11-03_46_33.log | 333 ++ .../ruyi_test_admin/2024-04-11-12_42_33.log | 206 ++ .../2024-04-11-12_43_23.log | 2858 ++++++++++++++++ .../2024-04-11-12_39_53.log | 629 ++++ .../ruyi_test_common/2024-04-11-12_42_53.log | 918 +++++ .../ruyi_test_config/2024-04-11-12_56_45.log | 250 ++ .../ruyi_test_device/2024-04-11-12_45_26.log | 2672 +++++++++++++++ .../2024-04-11-12_54_52.tar.gz | Bin 0 -> 5713 bytes .../2024-04-11-12_42_40.log | 296 ++ .../2024-04-11-12_56_10.log | 266 ++ .../ruyi_test_llvm/2024-04-11-12_45_18.log | 172 + .../ruyi_test_news/2024-04-11-12_45_02.log | 234 ++ .../ruyi_test_qemu/2024-04-11-12_45_12.log | 167 + .../ruyi_test_venv/2024-04-11-12_54_52.log | 270 ++ .../ruyi_test_xdg/2024-04-11-12_42_14.log | 646 ++++ .../2024-04-11-12_55_27.log | 318 ++ .../ruyi_test_admin/2024-04-10-02_50_24.log | 206 ++ .../2024-04-10-01_41_22.log | 2944 ++++++++++++++++ .../2024-04-10-03_00_24.log | 607 ++++ .../ruyi_test_common/2024-04-10-01_11_37.log | 905 +++++ .../ruyi_test_config/2024-04-10-03_11_41.log | 263 ++ .../ruyi_test_device/2024-04-10-03_13_04.log | 2772 +++++++++++++++ .../2024-04-10-03_23_35.tar.gz | Bin 0 -> 8270 bytes .../2024-04-10-01_33_53.log | 295 ++ .../2024-04-10-01_24_31.log | 266 ++ .../ruyi_test_llvm/2024-04-10-02_24_42.log | 334 ++ .../ruyi_test_news/2024-04-10-02_59_53.log | 243 ++ .../ruyi_test_qemu/2024-04-10-02_41_45.log | 303 ++ .../ruyi_test_venv/2024-04-10-02_51_10.log | 290 ++ .../ruyi_test_xdg/2024-04-10-02_37_48.log | 646 ++++ .../2024-04-10-03_24_08.log | 320 ++ .../ruyi_test_admin/2024-04-10-09_18_24.log | 206 ++ .../2024-04-10-07_58_09.log | 2881 ++++++++++++++++ .../2024-04-10-09_23_53.log | 598 ++++ .../ruyi_test_common/2024-04-10-08_40_19.log | 906 +++++ .../ruyi_test_config/2024-04-10-07_29_39.log | 247 ++ .../ruyi_test_device/2024-04-10-08_53_21.log | 2794 ++++++++++++++++ .../2024-04-10-09_17_58.tar.gz | Bin 0 -> 8419 bytes .../2024-04-10-07_16_07.log | 303 ++ .../2024-04-10-07_32_53.log | 289 ++ .../ruyi_test_llvm/2024-04-10-09_21_11.log | 184 + .../ruyi_test_news/2024-04-10-10_11_51.log | 238 ++ .../ruyi_test_qemu/2024-04-10-07_44_17.log | 168 + .../ruyi_test_venv/2024-04-10-07_47_16.log | 267 ++ .../ruyi_test_xdg/2024-04-10-07_20_59.log | 653 ++++ .../2024-04-10-08_26_52.log | 317 ++ .../ruyi_test_admin/2024-04-10-03_11_37.log | 204 ++ .../2024-04-10-02_31_33.log | 2958 +++++++++++++++++ .../2024-04-10-02_57_05.log | 616 ++++ .../ruyi_test_common/2024-04-10-03_40_03.log | 902 +++++ .../ruyi_test_config/2024-04-10-03_24_09.log | 247 ++ .../ruyi_test_device/2024-04-10-03_24_55.log | 2748 +++++++++++++++ .../2024-04-10-03_35_40.tar.gz | Bin 0 -> 7270 bytes .../2024-04-10-03_10_49.log | 293 ++ .../2024-04-10-03_44_37.log | 263 ++ .../ruyi_test_llvm/2024-04-10-03_41_12.log | 326 ++ .../ruyi_test_news/2024-04-10-02_53_59.log | 238 ++ .../ruyi_test_qemu/2024-04-10-03_37_15.log | 308 ++ .../ruyi_test_venv/2024-04-10-03_21_37.log | 263 ++ .../ruyi_test_xdg/2024-04-10-03_20_34.log | 642 ++++ .../2024-04-10-03_12_49.log | 318 ++ .../ruyi_test_admin/2024-04-10-20_52_04.log | 206 ++ .../2024-04-10-19_43_03.log | 2862 ++++++++++++++++ .../2024-04-10-18_00_55.log | 626 ++++ .../ruyi_test_common/2024-04-10-20_37_16.log | 904 +++++ .../ruyi_test_config/2024-04-10-20_09_14.log | 249 ++ .../ruyi_test_device/2024-04-10-19_20_54.log | 2793 ++++++++++++++++ .../2024-04-10-19_42_45.tar.gz | Bin 0 -> 6946 bytes .../2024-04-10-19_03_59.log | 298 ++ .../2024-04-10-18_52_11.log | 266 ++ .../ruyi_test_llvm/2024-04-10-19_07_48.log | 177 + .../ruyi_test_news/2024-04-10-19_00_59.log | 234 ++ .../ruyi_test_qemu/2024-04-10-19_09_49.log | 179 + .../ruyi_test_venv/2024-04-10-19_11_47.log | 267 ++ .../ruyi_test_xdg/2024-04-10-20_11_43.log | 649 ++++ .../2024-04-10-20_23_18.log | 290 ++ .../ruyi_test_admin/2024-04-10-06_11_20.log | 204 ++ .../2024-04-10-05_03_31.log | 2956 ++++++++++++++++ .../2024-04-10-05_23_39.log | 589 ++++ .../ruyi_test_common/2024-04-10-06_12_30.log | 911 +++++ .../ruyi_test_config/2024-04-10-06_22_28.log | 246 ++ .../ruyi_test_device/2024-04-10-05_55_51.log | 2757 +++++++++++++++ .../2024-04-10-06_10_58.tar.gz | Bin 0 -> 7859 bytes .../2024-04-10-05_43_13.log | 293 ++ .../2024-04-10-06_17_49.log | 275 ++ .../ruyi_test_llvm/2024-04-10-05_45_08.log | 324 ++ .../ruyi_test_news/2024-04-10-05_44_30.log | 231 ++ .../ruyi_test_qemu/2024-04-10-05_33_41.log | 302 ++ .../ruyi_test_venv/2024-04-10-06_23_14.log | 280 ++ .../ruyi_test_xdg/2024-04-10-05_52_05.log | 672 ++++ .../2024-04-10-05_38_31.log | 323 ++ .../ruyi_test_admin/2024-04-10-04_43_23.log | 206 ++ .../2024-04-10-04_34_16.log | 2861 ++++++++++++++++ .../2024-04-10-04_44_48.log | 600 ++++ .../ruyi_test_common/2024-04-10-04_20_46.log | 909 +++++ .../ruyi_test_config/2024-04-10-04_30_42.log | 262 ++ .../ruyi_test_device/2024-04-10-04_05_10.log | 2753 +++++++++++++++ .../2024-04-10-04_16_58.tar.gz | Bin 0 -> 8063 bytes .../2024-04-10-04_25_19.log | 297 ++ .../2024-04-10-04_31_29.log | 266 ++ .../ruyi_test_llvm/2024-04-10-04_04_29.log | 175 + .../ruyi_test_news/2024-04-10-04_43_57.log | 260 ++ .../ruyi_test_qemu/2024-04-10-04_19_51.log | 167 + .../ruyi_test_venv/2024-04-10-04_16_59.log | 276 ++ .../ruyi_test_xdg/2024-04-10-04_26_26.log | 649 ++++ .../2024-04-10-03_56_55.log | 314 ++ .../ruyi_test_admin/2024-04-10-15_04_08.log | 207 ++ .../2024-04-10-15_17_16.log | 2868 ++++++++++++++++ .../2024-04-10-16_01_36.log | 602 ++++ .../ruyi_test_common/2024-04-10-16_52_58.log | 899 +++++ .../ruyi_test_config/2024-04-10-13_44_54.log | 247 ++ .../ruyi_test_device/2024-04-10-14_09_20.log | 2805 ++++++++++++++++ .../2024-04-10-14_34_11.tar.gz | Bin 0 -> 8086 bytes .../2024-04-10-17_12_25.log | 318 ++ .../2024-04-10-15_48_29.log | 269 ++ .../ruyi_test_llvm/2024-04-10-17_26_07.log | 181 + .../ruyi_test_news/2024-04-10-15_10_18.log | 236 ++ .../ruyi_test_qemu/2024-04-10-17_20_08.log | 167 + .../ruyi_test_venv/2024-04-10-14_51_23.log | 279 ++ .../ruyi_test_xdg/2024-04-10-14_35_56.log | 647 ++++ .../2024-04-10-13_52_03.log | 305 ++ .../ruyi_test_admin/2024-04-10-06_04_41.log | 206 ++ .../2024-04-10-06_22_38.log | 2943 ++++++++++++++++ .../2024-04-10-06_06_02.log | 595 ++++ .../ruyi_test_common/2024-04-10-06_35_57.log | 907 +++++ .../ruyi_test_config/2024-04-10-07_02_51.log | 246 ++ .../ruyi_test_device/2024-04-10-05_41_54.log | 2762 +++++++++++++++ .../2024-04-10-05_54_21.tar.gz | Bin 0 -> 8193 bytes .../2024-04-10-06_34_40.log | 302 ++ .../2024-04-10-05_55_56.log | 273 ++ .../ruyi_test_llvm/2024-04-10-06_39_45.log | 327 ++ .../ruyi_test_news/2024-04-10-06_59_32.log | 241 ++ .../ruyi_test_qemu/2024-04-10-05_33_16.log | 304 ++ .../ruyi_test_venv/2024-04-10-06_50_22.log | 288 ++ .../ruyi_test_xdg/2024-04-10-07_00_13.log | 674 ++++ .../2024-04-10-06_53_59.log | 318 ++ 176 files changed, 112680 insertions(+) create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_RevyOS_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_aarch64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_admin/2024-04-08-23_43_29.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_binaries/2024-04-09-00_29_41.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-09-00_04_59.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_common/2024-04-09-00_00_22.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_config/2024-04-08-23_38_57.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_device/2024-04-09-00_17_46.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_device/2024-04-09-00_29_37.tar.gz create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-08-23_59_12.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-08-23_51_16.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_llvm/2024-04-08-23_44_04.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_news/2024-04-08-23_58_25.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_qemu/2024-04-09-00_41_21.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_venv/2024-04-09-00_38_37.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xdg/2024-04-08-23_39_39.log create mode 100644 20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-08-23_44_40.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_admin/2024-04-11-03_47_19.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_binaries/2024-04-11-03_50_41.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_cmake_ninja/2024-04-11-03_48_10.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_common/2024-04-11-03_47_23.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_config/2024-04-11-03_58_22.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_device/2024-04-11-03_58_50.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_device/2024-04-11-04_09_23.tar.gz create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-03_45_22.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-03_45_33.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_llvm/2024-04-11-03_55_05.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_news/2024-04-11-03_48_02.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_qemu/2024-04-11-03_52_20.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_venv/2024-04-11-04_09_23.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xdg/2024-04-11-03_46_01.log create mode 100644 20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xthead_qemu/2024-04-11-03_46_33.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_admin/2024-04-11-12_42_33.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_binaries/2024-04-11-12_43_23.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-11-12_39_53.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_common/2024-04-11-12_42_53.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_config/2024-04-11-12_56_45.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_device/2024-04-11-12_45_26.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_device/2024-04-11-12_54_52.tar.gz create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-12_42_40.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-12_56_10.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_llvm/2024-04-11-12_45_18.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_news/2024-04-11-12_45_02.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_qemu/2024-04-11-12_45_12.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_venv/2024-04-11-12_54_52.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xdg/2024-04-11-12_42_14.log create mode 100644 20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-11-12_55_27.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-02_50_24.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-01_41_22.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-03_00_24.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-01_11_37.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_11_41.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_13_04.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_23_35.tar.gz create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-01_33_53.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-01_24_31.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-02_24_42.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_59_53.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_41_45.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_51_10.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_37_48.log create mode 100644 20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_24_08.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-09_18_24.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-07_58_09.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-09_23_53.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-08_40_19.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-07_29_39.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-08_53_21.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-09_17_58.tar.gz create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-07_16_07.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-07_32_53.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-09_21_11.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-10_11_51.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-07_44_17.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-07_47_16.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_20_59.log create mode 100644 20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-08_26_52.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-03_11_37.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-02_31_33.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_57_05.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-03_40_03.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_24_09.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_24_55.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_35_40.tar.gz create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-03_10_49.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-03_44_37.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-03_41_12.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_53_59.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-03_37_15.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-03_21_37.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-03_20_34.log create mode 100644 20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_12_49.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-20_52_04.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-19_43_03.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-18_00_55.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-20_37_16.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-20_09_14.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-19_20_54.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-19_42_45.tar.gz create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-19_03_59.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-18_52_11.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-19_07_48.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-19_00_59.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-19_09_49.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-19_11_47.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-20_11_43.log create mode 100644 20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-20_23_18.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-06_11_20.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-05_03_31.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-05_23_39.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_12_30.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-06_22_28.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_55_51.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-06_10_58.tar.gz create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-05_43_13.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-06_17_49.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-05_45_08.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-05_44_30.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-05_33_41.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-06_23_14.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-05_52_05.log create mode 100644 20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-05_38_31.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_admin/2024-04-10-04_43_23.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_binaries/2024-04-10-04_34_16.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-10-04_44_48.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_common/2024-04-10-04_20_46.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_config/2024-04-10-04_30_42.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_device/2024-04-10-04_05_10.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_device/2024-04-10-04_16_58.tar.gz create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-04_25_19.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-04_31_29.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_llvm/2024-04-10-04_04_29.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_news/2024-04-10-04_43_57.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_qemu/2024-04-10-04_19_51.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_venv/2024-04-10-04_16_59.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xdg/2024-04-10-04_26_26.log create mode 100644 20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_56_55.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-15_04_08.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-15_17_16.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-16_01_36.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-16_52_58.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_44_54.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-14_09_20.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-14_34_11.tar.gz create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-17_12_25.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-15_48_29.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-17_26_07.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-15_10_18.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-17_20_08.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-14_51_23.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-14_35_56.log create mode 100644 20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-13_52_03.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-06_04_41.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-06_22_38.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-06_06_02.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_35_57.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-07_02_51.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_41_54.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_54_21.tar.gz create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-06_34_40.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-05_55_56.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-06_39_45.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-06_59_32.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-05_33_16.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-06_50_22.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_00_13.log create mode 100644 20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-06_53_59.log diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..ca9b5a6e --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,102 @@ +# RUYI 包管理 Container Archlinux riscv64 测试结果 + +本次测试基于 RUYI 0.8.0 版本预编译的 riscv64 架构版本二进制 [ruyi.riscv64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64) 。 + +编写了 mugen 测试用例,在 LXC Archlinux riscv64 环境开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Archlinux riscv64 测试环境来自发布的 [rootfs](https://archriscv.felixc.at/images/archriscv-2023-12-13.tar.zst) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Mon Apr 8 23:38:57 2024 - INFO - start to run testcase:ruyi_test_config. +Mon Apr 8 23:39:38 2024 - INFO - The case exit by code 0. +Mon Apr 8 23:39:38 2024 - INFO - End to run testcase:ruyi_test_config. +Mon Apr 8 23:39:39 2024 - INFO - start to run testcase:ruyi_test_xdg. +Mon Apr 8 23:43:29 2024 - INFO - The case exit by code 0. +Mon Apr 8 23:43:29 2024 - INFO - End to run testcase:ruyi_test_xdg. +Mon Apr 8 23:43:29 2024 - INFO - start to run testcase:ruyi_test_admin. +Mon Apr 8 23:44:03 2024 - INFO - The case exit by code 0. +Mon Apr 8 23:44:03 2024 - INFO - End to run testcase:ruyi_test_admin. +Mon Apr 8 23:44:04 2024 - INFO - start to run testcase:ruyi_test_llvm. +Mon Apr 8 23:44:39 2024 - INFO - The case exit by code 0. +Mon Apr 8 23:44:39 2024 - INFO - End to run testcase:ruyi_test_llvm. +Mon Apr 8 23:44:40 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Mon Apr 8 23:51:15 2024 - INFO - The case exit by code 0. +Mon Apr 8 23:51:15 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Mon Apr 8 23:51:16 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Mon Apr 8 23:58:25 2024 - INFO - The case exit by code 0. +Mon Apr 8 23:58:25 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Mon Apr 8 23:58:25 2024 - INFO - start to run testcase:ruyi_test_news. +Mon Apr 8 23:59:12 2024 - INFO - The case exit by code 0. +Mon Apr 8 23:59:12 2024 - INFO - End to run testcase:ruyi_test_news. +Mon Apr 8 23:59:12 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Tue Apr 9 00:00:21 2024 - INFO - The case exit by code 0. +Tue Apr 9 00:00:22 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Tue Apr 9 00:00:22 2024 - INFO - start to run testcase:ruyi_test_common. +Tue Apr 9 00:04:58 2024 - INFO - The case exit by code 0. +Tue Apr 9 00:04:58 2024 - INFO - End to run testcase:ruyi_test_common. +Tue Apr 9 00:04:58 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Tue Apr 9 00:17:46 2024 - INFO - The case exit by code 0. +Tue Apr 9 00:17:46 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Tue Apr 9 00:17:46 2024 - INFO - start to run testcase:ruyi_test_device. +Tue Apr 9 00:29:41 2024 - INFO - The case exit by code 0. +Tue Apr 9 00:29:41 2024 - INFO - End to run testcase:ruyi_test_device. +Tue Apr 9 00:29:41 2024 - INFO - start to run testcase:ruyi_test_binaries. +Tue Apr 9 00:38:36 2024 - INFO - The case exit by code 0. +Tue Apr 9 00:38:36 2024 - INFO - End to run testcase:ruyi_test_binaries. +Tue Apr 9 00:38:36 2024 - INFO - start to run testcase:ruyi_test_venv. +Tue Apr 9 00:41:20 2024 - INFO - The case exit by code 0. +Tue Apr 9 00:41:20 2024 - INFO - End to run testcase:ruyi_test_venv. +Tue Apr 9 00:41:20 2024 - INFO - start to run testcase:ruyi_test_qemu. +Tue Apr 9 00:41:54 2024 - INFO - The case exit by code 0. +Tue Apr 9 00:41:54 2024 - INFO - End to run testcase:ruyi_test_qemu. +Tue Apr 9 00:41:54 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/archlinux_riscv64_container/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..0aefd95c --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_Archlinux_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,102 @@ +# RUYI 包管理 Container Archlinux x86\_64 测试结果 + +本次测试基于 RUYI 0.8.0 版本预编译的 amd64 架构版本二进制 [ruyi.amd64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64) 。 + +编写了 mugen 测试用例,在 LXC Archlinux x86\_64 环境开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Archlinux x86\_64 测试环境为使用 ``pacstrap`` 制作的容器 + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Thu Apr 11 03:45:22 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Thu Apr 11 03:45:33 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:45:33 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Thu Apr 11 03:45:33 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Thu Apr 11 03:46:01 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:46:01 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Thu Apr 11 03:46:01 2024 - INFO - start to run testcase:ruyi_test_xdg. +Thu Apr 11 03:46:32 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:46:33 2024 - INFO - End to run testcase:ruyi_test_xdg. +Thu Apr 11 03:46:33 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Thu Apr 11 03:47:19 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:47:19 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Thu Apr 11 03:47:19 2024 - INFO - start to run testcase:ruyi_test_admin. +Thu Apr 11 03:47:23 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:47:23 2024 - INFO - End to run testcase:ruyi_test_admin. +Thu Apr 11 03:47:23 2024 - INFO - start to run testcase:ruyi_test_common. +Thu Apr 11 03:48:02 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:48:02 2024 - INFO - End to run testcase:ruyi_test_common. +Thu Apr 11 03:48:02 2024 - INFO - start to run testcase:ruyi_test_news. +Thu Apr 11 03:48:10 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:48:10 2024 - INFO - End to run testcase:ruyi_test_news. +Thu Apr 11 03:48:10 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Thu Apr 11 03:50:41 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:50:41 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Thu Apr 11 03:50:41 2024 - INFO - start to run testcase:ruyi_test_binaries. +Thu Apr 11 03:52:20 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:52:20 2024 - INFO - End to run testcase:ruyi_test_binaries. +Thu Apr 11 03:52:20 2024 - INFO - start to run testcase:ruyi_test_qemu. +Thu Apr 11 03:55:05 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:55:05 2024 - INFO - End to run testcase:ruyi_test_qemu. +Thu Apr 11 03:55:05 2024 - INFO - start to run testcase:ruyi_test_llvm. +Thu Apr 11 03:58:22 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:58:22 2024 - INFO - End to run testcase:ruyi_test_llvm. +Thu Apr 11 03:58:22 2024 - INFO - start to run testcase:ruyi_test_config. +Thu Apr 11 03:58:50 2024 - INFO - The case exit by code 0. +Thu Apr 11 03:58:50 2024 - INFO - End to run testcase:ruyi_test_config. +Thu Apr 11 03:58:50 2024 - INFO - start to run testcase:ruyi_test_device. +Thu Apr 11 04:09:23 2024 - INFO - The case exit by code 0. +Thu Apr 11 04:09:23 2024 - INFO - End to run testcase:ruyi_test_device. +Thu Apr 11 04:09:23 2024 - INFO - start to run testcase:ruyi_test_venv. +Thu Apr 11 04:09:51 2024 - INFO - The case exit by code 0. +Thu Apr 11 04:09:51 2024 - INFO - End to run testcase:ruyi_test_venv. +Thu Apr 11 04:09:51 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/archlinux_x86_64_container/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_RevyOS_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_RevyOS_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..2295cd7f --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_Container_RevyOS_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,103 @@ +# RUYI 包管理 Container RevyOS riscv64 测试结果 + +本次测试基于 RUYI 0.8.0 版本预编译的 riscv64 架构版本二进制 [ruyi.riscv64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64) 。 + +编写了 mugen 测试用例,在 systemd-nspawn RevyOS 20231210 riscv64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ RevyOS 镜像使用当前最新版本 [20231210](https://mirror.iscas.ac.cn/revyos/extra/images/lpi4a/20231210/) ++ RevyOS 容器测试环境为在 RevyOS 20231210 上搭建的 systemd-nspawn 容器,预装软件与 20231210 镜像看齐 + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 03:56:55 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 04:04:28 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:04:28 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 04:04:29 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 04:05:09 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:05:09 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 04:05:10 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 04:16:59 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:16:59 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 04:16:59 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 04:19:51 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:19:51 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 04:19:51 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 04:20:45 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:20:45 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 04:20:46 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 04:25:18 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:25:19 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 04:25:19 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 04:26:25 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:26:26 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 04:26:26 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 04:30:41 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:30:41 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 04:30:42 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 04:31:28 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:31:29 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 04:31:29 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 04:34:15 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:34:16 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 04:34:16 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 04:43:22 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:43:22 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 04:43:23 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 04:43:56 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:43:56 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 04:43:57 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 04:44:47 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:44:48 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 04:44:48 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 04:56:44 2024 - INFO - The case exit by code 0. +Wed Apr 10 04:56:44 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 04:56:45 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/revyos_riscv64_container/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_aarch64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_aarch64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..47dd7832 --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_aarch64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,101 @@ +# RUYI 包管理 QEMU Debian12 aarch64 测试结果 +本次测试基于 RUYI 0.8.0 版本预编译的 arm64 架构版本二进制 [ruyi.arm64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64) 。 + +编写了 mugen 测试用例,在 QEMU Debian12 x86\_64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Debian12 aarch64 镜像为使用 ``mmdebstrap`` 制作的镜像 + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Thu Apr 11 12:39:53 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Thu Apr 11 12:42:14 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:42:14 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Thu Apr 11 12:42:14 2024 - INFO - start to run testcase:ruyi_test_xdg. +Thu Apr 11 12:42:33 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:42:33 2024 - INFO - End to run testcase:ruyi_test_xdg. +Thu Apr 11 12:42:33 2024 - INFO - start to run testcase:ruyi_test_admin. +Thu Apr 11 12:42:40 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:42:40 2024 - INFO - End to run testcase:ruyi_test_admin. +Thu Apr 11 12:42:40 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Thu Apr 11 12:42:53 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:42:53 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Thu Apr 11 12:42:53 2024 - INFO - start to run testcase:ruyi_test_common. +Thu Apr 11 12:43:23 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:43:23 2024 - INFO - End to run testcase:ruyi_test_common. +Thu Apr 11 12:43:23 2024 - INFO - start to run testcase:ruyi_test_binaries. +Thu Apr 11 12:45:02 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:45:02 2024 - INFO - End to run testcase:ruyi_test_binaries. +Thu Apr 11 12:45:02 2024 - INFO - start to run testcase:ruyi_test_news. +Thu Apr 11 12:45:11 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:45:12 2024 - INFO - End to run testcase:ruyi_test_news. +Thu Apr 11 12:45:12 2024 - INFO - start to run testcase:ruyi_test_qemu. +Thu Apr 11 12:45:18 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:45:18 2024 - INFO - End to run testcase:ruyi_test_qemu. +Thu Apr 11 12:45:18 2024 - INFO - start to run testcase:ruyi_test_llvm. +Thu Apr 11 12:45:25 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:45:25 2024 - INFO - End to run testcase:ruyi_test_llvm. +Thu Apr 11 12:45:26 2024 - INFO - start to run testcase:ruyi_test_device. +Thu Apr 11 12:54:52 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:54:52 2024 - INFO - End to run testcase:ruyi_test_device. +Thu Apr 11 12:54:52 2024 - INFO - start to run testcase:ruyi_test_venv. +Thu Apr 11 12:55:27 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:55:27 2024 - INFO - End to run testcase:ruyi_test_venv. +Thu Apr 11 12:55:27 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Thu Apr 11 12:56:10 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:56:10 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Thu Apr 11 12:56:10 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Thu Apr 11 12:56:45 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:56:45 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Thu Apr 11 12:56:45 2024 - INFO - start to run testcase:ruyi_test_config. +Thu Apr 11 12:56:53 2024 - INFO - The case exit by code 0. +Thu Apr 11 12:56:53 2024 - INFO - End to run testcase:ruyi_test_config. +Thu Apr 11 12:56:53 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/debian12-aarch64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..e454f500 --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Debian12_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,101 @@ +# RUYI 包管理 QEMU Debian12 x86\_64 测试结果 +本次测试基于 RUYI 0.8.0 版本预编译的 amd64 架构版本二进制 [ruyi.amd64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64) 。 + +编写了 mugen 测试用例,在 QEMU Debian12 x86\_64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Debian12 镜像使用 libguestfs 提供的镜像 [Debian12](https://builder.libguestfs.org/debian-12.xz) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 01:11:37 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 01:24:31 2024 - INFO - The case exit by code 0. +Wed Apr 10 01:24:31 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 01:24:31 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 01:33:52 2024 - INFO - The case exit by code 0. +Wed Apr 10 01:33:52 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 01:33:52 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 01:41:21 2024 - INFO - The case exit by code 0. +Wed Apr 10 01:41:22 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 01:41:22 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 02:24:42 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:24:42 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 02:24:42 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 02:37:48 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:37:48 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 02:37:48 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 02:41:44 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:41:44 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 02:41:45 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 02:50:24 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:50:24 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 02:50:24 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 02:51:10 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:51:10 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 02:51:10 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 02:59:53 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:59:53 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 02:59:53 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 03:00:24 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:00:24 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 03:00:24 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 03:11:41 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:11:41 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 03:11:41 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 03:13:04 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:13:04 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 03:13:04 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 03:24:08 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:24:08 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 03:24:08 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 03:30:09 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:30:09 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 03:30:09 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/debian12-x86_64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..957627b1 --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,101 @@ +# RUYI 包管理 QEMU Fedora38 riscv64 测试结果 +本次测试基于 RUYI 0.8.0 版本预编译的 riscv64 架构版本二进制 [ruyi.riscv64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64) 。 + +编写了 mugen 测试用例,在 QEMU Fedora38 riscv64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Fedora38 镜像使用 koji 上的 20230825 开发者每日构建镜像 [Fedora-Developer-38-20230825](http://fedora.riscv.rocks/kojifiles/work/tasks/5889/1465889/Fedora-Developer-38-20230825.n.0-sda.raw.xz) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 07:16:06 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 07:20:53 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:20:55 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 07:20:59 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 07:29:33 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:29:34 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 07:29:38 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 07:32:46 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:32:48 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 07:32:52 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 07:44:11 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:44:12 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 07:44:16 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 07:47:10 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:47:12 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 07:47:16 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 07:58:03 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:58:04 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 07:58:08 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 08:26:46 2024 - INFO - The case exit by code 0. +Wed Apr 10 08:26:48 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 08:26:52 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 08:40:13 2024 - INFO - The case exit by code 0. +Wed Apr 10 08:40:15 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 08:40:19 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 08:53:15 2024 - INFO - The case exit by code 0. +Wed Apr 10 08:53:16 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 08:53:20 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 09:18:19 2024 - INFO - The case exit by code 0. +Wed Apr 10 09:18:20 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 09:18:24 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 09:21:04 2024 - INFO - The case exit by code 0. +Wed Apr 10 09:21:06 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 09:21:10 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 09:23:46 2024 - INFO - The case exit by code 0. +Wed Apr 10 09:23:48 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 09:23:52 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 10:11:45 2024 - INFO - The case exit by code 0. +Wed Apr 10 10:11:46 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 10:11:50 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 10:15:34 2024 - INFO - The case exit by code 0. +Wed Apr 10 10:15:36 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 10:15:37 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/fedora38-riscv64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..b45b2e02 --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Fedora38_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,101 @@ +# RUYI 包管理 QEMU Fedora38 x86\_64 测试结果 +本次测试基于 RUYI 0.8.0 版本预编译的 amd64 架构版本二进制 [ruyi.amd64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64) 。 + +编写了 mugen 测试用例,在 QEMU Fedora38 x86\_64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Fedora38 镜像使用 libguestfs 提供的镜像 [Fedora38](https://builder.libguestfs.org/fedora-38.xz) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 02:31:33 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 02:53:56 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:53:57 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 02:53:58 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 02:57:04 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:57:04 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 02:57:04 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 03:10:49 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:10:49 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 03:10:49 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 03:11:37 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:11:37 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 03:11:37 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 03:12:49 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:12:49 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 03:12:49 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 03:20:33 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:20:33 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 03:20:34 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 03:21:36 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:21:36 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 03:21:37 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 03:24:09 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:24:09 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 03:24:09 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 03:24:54 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:24:54 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 03:24:55 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 03:37:15 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:37:15 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 03:37:15 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 03:40:03 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:40:03 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 03:40:03 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 03:41:12 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:41:12 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 03:41:12 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 03:44:37 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:44:37 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 03:44:37 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 03:47:10 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:47:10 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 03:47:10 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/fedora38-x86_64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..3d36a3cc --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,103 @@ +# RUYI 包管理 QEMU Ubuntu 22.04 riscv64 测试结果 + +本次测试基于 RUYI 0.8.0 版本预编译的 riscv64 架构版本二进制 [ruyi.riscv64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64) 。 + +编写了 mugen 测试用例,在 QEMU ubuntu 22.04 riscv64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Ubuntu 22.04 LTS 镜像使用 Ubuntu 提供的 Unmatched 镜像 [ubuntu-22.04.4-preinstalled-server-riscv64\_unmatched](https://mirrors.bfsu.edu.cn/ubuntu-cdimage/releases/22.04.4/release/ubuntu-22.04.4-preinstalled-server-riscv64%2Bunmatched.img.xz) ++ 在官方文档中 QEMU 与 Unmatched 共用一个镜像 + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 13:44:53 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 13:51:57 2024 - INFO - The case exit by code 0. +Wed Apr 10 13:51:59 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 13:52:02 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 14:09:15 2024 - INFO - The case exit by code 0. +Wed Apr 10 14:09:16 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 14:09:20 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 14:35:51 2024 - INFO - The case exit by code 0. +Wed Apr 10 14:35:52 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 14:35:55 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 14:51:17 2024 - INFO - The case exit by code 0. +Wed Apr 10 14:51:19 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 14:51:23 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 15:04:03 2024 - INFO - The case exit by code 0. +Wed Apr 10 15:04:04 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 15:04:08 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 15:10:12 2024 - INFO - The case exit by code 0. +Wed Apr 10 15:10:14 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 15:10:17 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 15:17:10 2024 - INFO - The case exit by code 0. +Wed Apr 10 15:17:12 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 15:17:15 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 15:48:24 2024 - INFO - The case exit by code 0. +Wed Apr 10 15:48:26 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 15:48:29 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 16:01:30 2024 - INFO - The case exit by code 0. +Wed Apr 10 16:01:32 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 16:01:35 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 16:52:52 2024 - INFO - The case exit by code 0. +Wed Apr 10 16:52:53 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 16:52:57 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 17:12:19 2024 - INFO - The case exit by code 0. +Wed Apr 10 17:12:21 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 17:12:24 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 17:20:03 2024 - INFO - The case exit by code 0. +Wed Apr 10 17:20:04 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 17:20:07 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 17:26:02 2024 - INFO - The case exit by code 0. +Wed Apr 10 17:26:03 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 17:26:07 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 17:32:06 2024 - INFO - The case exit by code 0. +Wed Apr 10 17:32:07 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 17:32:08 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/ubuntu2204-riscv64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..56c9b525 --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_Ubuntu22.04_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,102 @@ +# RUYI 包管理 QEMU Ubuntu 22.04 x86\_64 测试结果 + +本次测试基于 RUYI 0.8.0 版本预编译的 amd64 架构版本二进制 [ruyi.amd64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64) 。 + +编写了 mugen 测试用例,在 QEMU ubuntu 22.04 x86\_64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ Ubuntu 22.04 LTS 镜像使用 Ubuntu 提供的 QEMU 镜像 [ubuntu-22.04-server-cloudimg-amd64](https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-server-cloudimg-amd64-disk-kvm.img) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 05:33:16 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 05:41:54 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:41:54 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 05:41:54 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 05:55:56 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:55:56 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 05:55:56 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 06:04:41 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:04:41 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 06:04:41 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 06:06:01 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:06:01 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 06:06:02 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 06:22:38 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:22:38 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 06:22:38 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 06:34:40 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:34:40 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 06:34:40 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 06:35:57 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:35:57 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 06:35:57 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 06:39:44 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:39:45 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 06:39:45 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 06:50:22 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:50:22 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 06:50:22 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 06:53:59 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:53:59 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 06:53:59 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 06:59:32 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:59:32 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 06:59:32 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 07:00:13 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:00:13 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 07:00:13 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 07:02:51 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:02:51 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 07:02:51 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 07:04:41 2024 - INFO - The case exit by code 0. +Wed Apr 10 07:04:41 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 07:04:41 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/ubuntu2204-x86_64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..31e06f8c --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,102 @@ +# RUYI 包管理 QEMU openEuler 23.09 riscv64 测试结果 + +本次测试基于 RUYI 0.8.0 版本预编译的 riscv64 架构版本二进制 [ruyi.riscv64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64) 。 + +编写了 mugen 测试用例,在 QEMU openEuler 23.09 riscv64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ openEuler 2309 riscv64 镜像使用软件所提供的镜像 [openEuler 2309 riscv64 base](https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20231130/v0.2/QEMU/openEuler-23.09-V1-base-qemu-testing.qcow2.zst) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 18:00:54 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 18:52:04 2024 - INFO - The case exit by code 0. +Wed Apr 10 18:52:06 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 18:52:10 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 19:00:53 2024 - INFO - The case exit by code 0. +Wed Apr 10 19:00:55 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 19:00:59 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 19:03:53 2024 - INFO - The case exit by code 0. +Wed Apr 10 19:03:54 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 19:03:58 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 19:07:42 2024 - INFO - The case exit by code 0. +Wed Apr 10 19:07:44 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 19:07:48 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 19:09:43 2024 - INFO - The case exit by code 0. +Wed Apr 10 19:09:44 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 19:09:48 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 19:11:41 2024 - INFO - The case exit by code 0. +Wed Apr 10 19:11:42 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 19:11:46 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 19:20:47 2024 - INFO - The case exit by code 0. +Wed Apr 10 19:20:49 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 19:20:53 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 19:42:57 2024 - INFO - The case exit by code 0. +Wed Apr 10 19:42:59 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 19:43:03 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 20:09:08 2024 - INFO - The case exit by code 0. +Wed Apr 10 20:09:09 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 20:09:13 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 20:11:37 2024 - INFO - The case exit by code 0. +Wed Apr 10 20:11:38 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 20:11:42 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 20:23:11 2024 - INFO - The case exit by code 0. +Wed Apr 10 20:23:13 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 20:23:17 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 20:37:10 2024 - INFO - The case exit by code 0. +Wed Apr 10 20:37:11 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 20:37:15 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 20:51:58 2024 - INFO - The case exit by code 0. +Wed Apr 10 20:52:00 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 20:52:03 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 20:54:06 2024 - INFO - The case exit by code 0. +Wed Apr 10 20:54:07 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 20:54:09 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/oE2309-riscv64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..0ecdecdd --- /dev/null +++ "b/20240408/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,102 @@ +# RUYI 包管理 QEMU openEuler 23.09 x86\_64 测试结果 + +本次测试基于 RUYI 0.8.0 版本预编译的 amd64 架构版本二进制 [ruyi.amd64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64) 。 + +编写了 mugen 测试用例,在 QEMU openEuler 23.09 x86\_64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ openEuler 2309 x86\_64 镜像使用 openEuler 提供的 QEMU 镜像 [openEuler-23.09-x86\_64](https://repo.openeuler.openatom.cn/openEuler-23.09/virtual_machine_img/x86_64/openEuler-23.09-x86_64.qcow2.xz) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 05:03:31 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 05:23:39 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:23:39 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 05:23:39 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 05:33:40 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:33:40 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 05:33:40 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 05:38:30 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:38:30 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 05:38:31 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 05:43:13 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:43:13 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 05:43:13 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 05:44:30 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:44:30 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 05:44:30 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 05:45:08 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:45:08 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 05:45:08 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 05:52:05 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:52:05 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 05:52:05 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 05:55:50 2024 - INFO - The case exit by code 0. +Wed Apr 10 05:55:50 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 05:55:50 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 06:11:20 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:11:20 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 06:11:20 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 06:12:30 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:12:30 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 06:12:30 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 06:17:49 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:17:49 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 06:17:49 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 06:22:28 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:22:28 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 06:22:28 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 06:23:14 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:23:14 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 06:23:14 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 06:27:55 2024 - INFO - The case exit by code 0. +Wed Apr 10 06:27:55 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 06:27:55 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/oE2309-x86_64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_admin/2024-04-08-23_43_29.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_admin/2024-04-08-23_43_29.log new file mode 100644 index 00000000..6b25288c --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_admin/2024-04-08-23_43_29.log @@ -0,0 +1,209 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:43:30 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:43:31 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:43:31 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp3ed5pj21 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp3ed5pj21 ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 20.8M 7 1694k 0 0 1922k 0 0:00:11 --:--:-- 0:00:11 1921k 17 20.8M 17 3838k 0 0 2040k 0 0:00:10 0:00:01 0:00:09 2040k 28 20.8M 28 6110k 0 0 2120k 0 0:00:10 0:00:02 0:00:08 2121k 38 20.8M 38 8238k 0 0 2121k 0 0:00:10 0:00:03 0:00:07 2121k 50 20.8M 50 10.5M 0 0 2212k 0 0:00:09 0:00:04 0:00:05 2212k 64 20.8M 64 13.4M 0 0 2332k 0 0:00:09 0:00:05 0:00:04 2405k 76 20.8M 76 15.9M 0 0 2378k 0 0:00:08 0:00:06 0:00:02 2505k 93 20.8M 93 19.4M 0 0 2529k 0 0:00:08 0:00:07 0:00:01 2764k 100 20.8M 100 20.8M 0 0 2590k 0 0:00:08 0:00:08 --:--:-- 3007k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:43:48 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:43:48 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Mon Apr 8 23:44:00 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Mon Apr 8 23:44:00 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Mon Apr 8 23:44:00 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp3ed5pj21 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp3ed5pj21 +Mon Apr 8 23:44:01 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp3ed5pj21 +Mon Apr 8 23:44:01 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp3ed5pj21 ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Mon Apr 8 23:44:03 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_binaries/2024-04-09-00_29_41.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_binaries/2024-04-09-00_29_41.log new file mode 100644 index 00000000..4bd5f65a --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_binaries/2024-04-09-00_29_41.log @@ -0,0 +1,2863 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Tue Apr 9 00:29:42 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:29:42 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:29:43 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpkl_rrz3v ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpkl_rrz3v ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 15 20.8M 15 3303k 0 0 3173k 0 0:00:06 0:00:01 0:00:05 3173k 23 20.8M 23 5095k 0 0 2459k 0 0:00:08 0:00:02 0:00:06 2459k 26 20.8M 26 5623k 0 0 1847k 0 0:00:11 0:00:03 0:00:08 1846k 29 20.8M 29 6391k 0 0 1567k 0 0:00:13 0:00:04 0:00:09 1567k 32 20.8M 32 6983k 0 0 1381k 0 0:00:15 0:00:05 0:00:10 1399k 36 20.8M 36 7719k 0 0 1275k 0 0:00:16 0:00:06 0:00:10 881k 39 20.8M 39 8343k 0 0 1184k 0 0:00:18 0:00:07 0:00:11 653k 41 20.8M 41 8919k 0 0 1109k 0 0:00:19 0:00:08 0:00:11 659k 44 20.8M 44 9575k 0 0 1050k 0 0:00:20 0:00:09 0:00:11 631k 47 20.8M 47 9.8M 0 0 1005k 0 0:00:21 0:00:10 0:00:11 624k 50 20.8M 50 10.5M 0 0 980k 0 0:00:21 0:00:11 0:00:10 621k 56 20.8M 56 11.8M 0 0 1006k 0 0:00:21 0:00:12 0:00:09 755k 66 20.8M 66 13.8M 0 0 1084k 0 0:00:19 0:00:13 0:00:06 1046k 79 20.8M 79 16.5M 0 0 1204k 0 0:00:17 0:00:14 0:00:03 1490k 94 20.8M 94 19.8M 0 0 1348k 0 0:00:15 0:00:15 --:--:-- 2036k 100 20.8M 100 20.8M 0 0 1391k 0 0:00:15 0:00:15 --:--:-- 2444k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Tue Apr 9 00:30:07 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Tue Apr 9 00:30:07 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 294M 1 3419k 0 0 3478k 0 0:01:26 --:--:-- 0:01:26 3479k 3 294M 3 10.9M 0 0 5653k 0 0:00:53 0:00:01 0:00:52 5654k 6 294M 6 18.4M 0 0 6340k 0 0:00:47 0:00:02 0:00:45 6340k 8 294M 8 25.6M 0 0 6603k 0 0:00:45 0:00:03 0:00:42 6603k 11 294M 11 33.4M 0 0 6877k 0 0:00:43 0:00:04 0:00:39 6878k 13 294M 13 40.6M 0 0 6950k 0 0:00:43 0:00:05 0:00:38 7632k 16 294M 16 48.0M 0 0 7049k 0 0:00:42 0:00:06 0:00:36 7603k 18 294M 18 54.7M 0 0 7023k 0 0:00:42 0:00:07 0:00:35 7430k 20 294M 20 60.9M 0 0 6954k 0 0:00:43 0:00:08 0:00:35 7232k 22 294M 22 65.9M 0 0 6762k 0 0:00:44 0:00:09 0:00:35 6648k 23 294M 23 68.5M 0 0 6395k 0 0:00:47 0:00:10 0:00:37 5731k 24 294M 24 71.4M 0 0 6100k 0 0:00:49 0:00:11 0:00:38 4776k 24 294M 24 73.6M 0 0 5811k 0 0:00:51 0:00:12 0:00:39 3877k 25 294M 25 74.6M 0 0 5465k 0 0:00:55 0:00:13 0:00:42 2798k 25 294M 25 76.3M 0 0 5215k 0 0:00:57 0:00:14 0:00:43 2125k 26 294M 26 78.7M 0 0 5044k 0 0:00:59 0:00:15 0:00:44 2076k 27 294M 27 81.7M 0 0 4927k 0 0:01:01 0:00:16 0:00:45 2110k 28 294M 28 84.9M 0 0 4840k 0 0:01:02 0:00:17 0:00:45 2317k 29 294M 29 88.0M 0 0 4747k 0 0:01:03 0:00:18 0:00:45 2738k 30 294M 30 90.9M 0 0 4659k 0 0:01:04 0:00:19 0:00:45 2995k 32 294M 32 94.6M 0 0 4616k 0 0:01:05 0:00:20 0:00:45 3250k 33 294M 33 99.0M 0 0 4614k 0 0:01:05 0:00:21 0:00:44 3550k 35 294M 35 104M 0 0 4636k 0 0:01:05 0:00:22 0:00:43 3904k 36 294M 36 108M 0 0 4650k 0 0:01:04 0:00:23 0:00:41 4282k 38 294M 38 113M 0 0 4646k 0 0:01:04 0:00:24 0:00:40 4594k 40 294M 40 118M 0 0 4673k 0 0:01:04 0:00:25 0:00:39 4911k 41 294M 41 122M 0 0 4658k 0 0:01:04 0:00:26 0:00:38 4855k 42 294M 42 125M 0 0 4605k 0 0:01:05 0:00:27 0:00:38 4462k 43 294M 43 127M 0 0 4517k 0 0:01:06 0:00:28 0:00:38 3877k 43 294M 43 128M 0 0 4384k 0 0:01:08 0:00:29 0:00:39 3075k 43 294M 43 128M 0 0 4254k 0 0:01:10 0:00:31 0:00:39 2087k 43 294M 43 129M 0 0 4148k 0 0:01:12 0:00:31 0:00:41 1399k 44 294M 44 130M 0 0 4041k 0 0:01:14 0:00:32 0:00:42 889k 44 294M 44 130M 0 0 3933k 0 0:01:16 0:00:34 0:00:42 564k 44 294M 44 131M 0 0 3852k 0 0:01:18 0:00:34 0:00:44 660k 45 294M 45 133M 0 0 3796k 0 0:01:19 0:00:35 0:00:44 941k 46 294M 46 135M 0 0 3764k 0 0:01:20 0:00:36 0:00:44 1303k 47 294M 47 139M 0 0 3753k 0 0:01:20 0:00:37 0:00:43 1847k 48 294M 48 142M 0 0 3751k 0 0:01:20 0:00:38 0:00:42 2506k 49 294M 49 146M 0 0 3763k 0 0:01:20 0:00:39 0:00:41 3139k 51 294M 51 150M 0 0 3768k 0 0:01:20 0:00:40 0:00:40 3568k 52 294M 52 154M 0 0 3766k 0 0:01:20 0:00:41 0:00:39 3778k 53 294M 53 158M 0 0 3773k 0 0:01:20 0:00:42 0:00:38 3926k 55 294M 55 162M 0 0 3794k 0 0:01:19 0:00:43 0:00:36 4129k 56 294M 56 167M 0 0 3815k 0 0:01:19 0:00:44 0:00:35 4227k 58 294M 58 172M 0 0 3834k 0 0:01:18 0:00:45 0:00:33 4374k 60 294M 60 177M 0 0 3858k 0 0:01:18 0:00:46 0:00:32 4631k 61 294M 61 181M 0 0 3873k 0 0:01:17 0:00:47 0:00:30 4733k 63 294M 63 186M 0 0 3896k 0 0:01:17 0:00:48 0:00:29 4796k 64 294M 64 191M 0 0 3921k 0 0:01:16 0:00:49 0:00:27 4881k 66 294M 66 197M 0 0 3959k 0 0:01:16 0:00:50 0:00:26 5107k 68 294M 68 202M 0 0 3992k 0 0:01:15 0:00:51 0:00:24 5254k 70 294M 70 207M 0 0 4016k 0 0:01:15 0:00:52 0:00:23 5394k 72 294M 72 213M 0 0 4055k 0 0:01:14 0:00:53 0:00:21 5607k 74 294M 74 218M 0 0 4068k 0 0:01:14 0:00:54 0:00:20 5530k 75 294M 75 222M 0 0 4070k 0 0:01:14 0:00:55 0:00:19 5200k 76 294M 76 226M 0 0 4065k 0 0:01:14 0:00:56 0:00:18 4816k 77 294M 77 229M 0 0 4047k 0 0:01:14 0:00:57 0:00:17 4374k 78 294M 78 231M 0 0 4025k 0 0:01:15 0:00:58 0:00:17 3704k 79 294M 79 234M 0 0 4003k 0 0:01:15 0:00:59 0:00:16 3294k 80 294M 80 237M 0 0 3981k 0 0:01:15 0:01:00 0:00:15 2993k 81 294M 81 239M 0 0 3957k 0 0:01:16 0:01:01 0:00:15 2730k 82 294M 82 242M 0 0 3941k 0 0:01:16 0:01:02 0:00:14 2713k 83 294M 83 245M 0 0 3928k 0 0:01:16 0:01:03 0:00:13 2778k 84 294M 84 247M 0 0 3907k 0 0:01:17 0:01:04 0:00:13 2757k 84 294M 84 249M 0 0 3878k 0 0:01:17 0:01:05 0:00:12 2620k 85 294M 85 251M 0 0 3847k 0 0:01:18 0:01:06 0:00:12 2489k 86 294M 86 253M 0 0 3822k 0 0:01:18 0:01:07 0:00:11 2325k 86 294M 86 255M 0 0 3797k 0 0:01:19 0:01:08 0:00:11 2128k 87 294M 87 258M 0 0 3776k 0 0:01:19 0:01:09 0:00:10 2064k 88 294M 88 259M 0 0 3744k 0 0:01:20 0:01:10 0:00:10 1973k 88 294M 88 261M 0 0 3715k 0 0:01:21 0:01:11 0:00:10 1945k 89 294M 89 263M 0 0 3696k 0 0:01:21 0:01:12 0:00:09 1977k 90 294M 90 266M 0 0 3682k 0 0:01:21 0:01:13 0:00:08 2089k 90 294M 90 267M 0 0 3656k 0 0:01:22 0:01:14 0:00:08 1980k 91 294M 91 269M 0 0 3625k 0 0:01:23 0:01:15 0:00:08 1940k 91 294M 91 270M 0 0 3598k 0 0:01:23 0:01:16 0:00:07 1907k 92 294M 92 272M 0 0 3574k 0 0:01:24 0:01:17 0:00:07 1798k 93 294M 93 274M 0 0 3555k 0 0:01:24 0:01:18 0:00:06 1680k 93 294M 93 276M 0 0 3544k 0 0:01:25 0:01:19 0:00:06 1867k 94 294M 94 279M 0 0 3529k 0 0:01:25 0:01:20 0:00:05 2070k 95 294M 95 281M 0 0 3510k 0 0:01:25 0:01:21 0:00:04 2163k 96 294M 96 283M 0 0 3496k 0 0:01:26 0:01:22 0:00:04 2266k 96 294M 96 285M 0 0 3477k 0 0:01:26 0:01:23 0:00:03 2248k 97 294M 97 286M 0 0 3454k 0 0:01:27 0:01:24 0:00:03 2008k 97 294M 97 287M 0 0 3422k 0 0:01:28 0:01:26 0:00:02 1686k 97 294M 97 288M 0 0 3395k 0 0:01:28 0:01:26 0:00:02 1507k 98 294M 98 289M 0 0 3374k 0 0:01:29 0:01:27 0:00:02 1353k 99 294M 99 292M 0 0 3362k 0 0:01:29 0:01:28 0:00:01 1437k 99 294M 99 294M 0 0 3345k 0 0:01:30 0:01:29 0:00:01 1502k 99 294M 99 294M 0 0 3317k 0 0:01:31 0:01:30 0:00:01 1499k 100 294M 100 294M 0 0 3308k 0 0:01:31 0:01:31 --:--:-- 1534k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 294M 1 3419k 0 0 3478k 0 0:01:26 --:--:-- 0:01:26 $'3479k\r' 3 294M 3 10.9M 0 0 5653k 0 0:00:53 0:00:01 0:00:52 $'5654k\r' 6 294M 6 18.4M 0 0 6340k 0 0:00:47 0:00:02 0:00:45 $'6340k\r' 8 294M 8 25.6M 0 0 6603k 0 0:00:45 0:00:03 0:00:42 $'6603k\r' 11 294M 11 33.4M 0 0 6877k 0 0:00:43 0:00:04 0:00:39 $'6878k\r' 13 294M 13 40.6M 0 0 6950k 0 0:00:43 0:00:05 0:00:38 $'7632k\r' 16 294M 16 48.0M 0 0 7049k 0 0:00:42 0:00:06 0:00:36 $'7603k\r' 18 294M 18 54.7M 0 0 7023k 0 0:00:42 0:00:07 0:00:35 $'7430k\r' 20 294M 20 60.9M 0 0 6954k 0 0:00:43 0:00:08 0:00:35 $'7232k\r' 22 294M 22 65.9M 0 0 6762k 0 0:00:44 0:00:09 0:00:35 $'6648k\r' 23 294M 23 68.5M 0 0 6395k 0 0:00:47 0:00:10 0:00:37 $'5731k\r' 24 294M 24 71.4M 0 0 6100k 0 0:00:49 0:00:11 0:00:38 $'4776k\r' 24 294M 24 73.6M 0 0 5811k 0 0:00:51 0:00:12 0:00:39 $'3877k\r' 25 294M 25 74.6M 0 0 5465k 0 0:00:55 0:00:13 0:00:42 $'2798k\r' 25 294M 25 76.3M 0 0 5215k 0 0:00:57 0:00:14 0:00:43 $'2125k\r' 26 294M 26 78.7M 0 0 5044k 0 0:00:59 0:00:15 0:00:44 $'2076k\r' 27 294M 27 81.7M 0 0 4927k 0 0:01:01 0:00:16 0:00:45 $'2110k\r' 28 294M 28 84.9M 0 0 4840k 0 0:01:02 0:00:17 0:00:45 $'2317k\r' 29 294M 29 88.0M 0 0 4747k 0 0:01:03 0:00:18 0:00:45 $'2738k\r' 30 294M 30 90.9M 0 0 4659k 0 0:01:04 0:00:19 0:00:45 $'2995k\r' 32 294M 32 94.6M 0 0 4616k 0 0:01:05 0:00:20 0:00:45 $'3250k\r' 33 294M 33 99.0M 0 0 4614k 0 0:01:05 0:00:21 0:00:44 $'3550k\r' 35 294M 35 104M 0 0 4636k 0 0:01:05 0:00:22 0:00:43 $'3904k\r' 36 294M 36 108M 0 0 4650k 0 0:01:04 0:00:23 0:00:41 $'4282k\r' 38 294M 38 113M 0 0 4646k 0 0:01:04 0:00:24 0:00:40 $'4594k\r' 40 294M 40 118M 0 0 4673k 0 0:01:04 0:00:25 0:00:39 $'4911k\r' 41 294M 41 122M 0 0 4658k 0 0:01:04 0:00:26 0:00:38 $'4855k\r' 42 294M 42 125M 0 0 4605k 0 0:01:05 0:00:27 0:00:38 $'4462k\r' 43 294M 43 127M 0 0 4517k 0 0:01:06 0:00:28 0:00:38 $'3877k\r' 43 294M 43 128M 0 0 4384k 0 0:01:08 0:00:29 0:00:39 $'3075k\r' 43 294M 43 128M 0 0 4254k 0 0:01:10 0:00:31 0:00:39 $'2087k\r' 43 294M 43 129M 0 0 4148k 0 0:01:12 0:00:31 0:00:41 $'1399k\r' 44 294M 44 130M 0 0 4041k 0 0:01:14 0:00:32 0:00:42 $'889k\r' 44 294M 44 130M 0 0 3933k 0 0:01:16 0:00:34 0:00:42 $'564k\r' 44 294M 44 131M 0 0 3852k 0 0:01:18 0:00:34 0:00:44 $'660k\r' 45 294M 45 133M 0 0 3796k 0 0:01:19 0:00:35 0:00:44 $'941k\r' 46 294M 46 135M 0 0 3764k 0 0:01:20 0:00:36 0:00:44 $'1303k\r' 47 294M 47 139M 0 0 3753k 0 0:01:20 0:00:37 0:00:43 $'1847k\r' 48 294M 48 142M 0 0 3751k 0 0:01:20 0:00:38 0:00:42 $'2506k\r' 49 294M 49 146M 0 0 3763k 0 0:01:20 0:00:39 0:00:41 $'3139k\r' 51 294M 51 150M 0 0 3768k 0 0:01:20 0:00:40 0:00:40 $'3568k\r' 52 294M 52 154M 0 0 3766k 0 0:01:20 0:00:41 0:00:39 $'3778k\r' 53 294M 53 158M 0 0 3773k 0 0:01:20 0:00:42 0:00:38 $'3926k\r' 55 294M 55 162M 0 0 3794k 0 0:01:19 0:00:43 0:00:36 $'4129k\r' 56 294M 56 167M 0 0 3815k 0 0:01:19 0:00:44 0:00:35 $'4227k\r' 58 294M 58 172M 0 0 3834k 0 0:01:18 0:00:45 0:00:33 $'4374k\r' 60 294M 60 177M 0 0 3858k 0 0:01:18 0:00:46 0:00:32 $'4631k\r' 61 294M 61 181M 0 0 3873k 0 0:01:17 0:00:47 0:00:30 $'4733k\r' 63 294M 63 186M 0 0 3896k 0 0:01:17 0:00:48 0:00:29 $'4796k\r' 64 294M 64 191M 0 0 3921k 0 0:01:16 0:00:49 0:00:27 $'4881k\r' 66 294M 66 197M 0 0 3959k 0 0:01:16 0:00:50 0:00:26 $'5107k\r' 68 294M 68 202M 0 0 3992k 0 0:01:15 0:00:51 0:00:24 $'5254k\r' 70 294M 70 207M 0 0 4016k 0 0:01:15 0:00:52 0:00:23 $'5394k\r' 72 294M 72 213M 0 0 4055k 0 0:01:14 0:00:53 0:00:21 $'5607k\r' 74 294M 74 218M 0 0 4068k 0 0:01:14 0:00:54 0:00:20 $'5530k\r' 75 294M 75 222M 0 0 4070k 0 0:01:14 0:00:55 0:00:19 $'5200k\r' 76 294M 76 226M 0 0 4065k 0 0:01:14 0:00:56 0:00:18 $'4816k\r' 77 294M 77 229M 0 0 4047k 0 0:01:14 0:00:57 0:00:17 $'4374k\r' 78 294M 78 231M 0 0 4025k 0 0:01:15 0:00:58 0:00:17 $'3704k\r' 79 294M 79 234M 0 0 4003k 0 0:01:15 0:00:59 0:00:16 $'3294k\r' 80 294M 80 237M 0 0 3981k 0 0:01:15 0:01:00 0:00:15 $'2993k\r' 81 294M 81 239M 0 0 3957k 0 0:01:16 0:01:01 0:00:15 $'2730k\r' 82 294M 82 242M 0 0 3941k 0 0:01:16 0:01:02 0:00:14 $'2713k\r' 83 294M 83 245M 0 0 3928k 0 0:01:16 0:01:03 0:00:13 $'2778k\r' 84 294M 84 247M 0 0 3907k 0 0:01:17 0:01:04 0:00:13 $'2757k\r' 84 294M 84 249M 0 0 3878k 0 0:01:17 0:01:05 0:00:12 $'2620k\r' 85 294M 85 251M 0 0 3847k 0 0:01:18 0:01:06 0:00:12 $'2489k\r' 86 294M 86 253M 0 0 3822k 0 0:01:18 0:01:07 0:00:11 $'2325k\r' 86 294M 86 255M 0 0 3797k 0 0:01:19 0:01:08 0:00:11 $'2128k\r' 87 294M 87 258M 0 0 3776k 0 0:01:19 0:01:09 0:00:10 $'2064k\r' 88 294M 88 259M 0 0 3744k 0 0:01:20 0:01:10 0:00:10 $'1973k\r' 88 294M 88 261M 0 0 3715k 0 0:01:21 0:01:11 0:00:10 $'1945k\r' 89 294M 89 263M 0 0 3696k 0 0:01:21 0:01:12 0:00:09 $'1977k\r' 90 294M 90 266M 0 0 3682k 0 0:01:21 0:01:13 0:00:08 $'2089k\r' 90 294M 90 267M 0 0 3656k 0 0:01:22 0:01:14 0:00:08 $'1980k\r' 91 294M 91 269M 0 0 3625k 0 0:01:23 0:01:15 0:00:08 $'1940k\r' 91 294M 91 270M 0 0 3598k 0 0:01:23 0:01:16 0:00:07 $'1907k\r' 92 294M 92 272M 0 0 3574k 0 0:01:24 0:01:17 0:00:07 $'1798k\r' 93 294M 93 274M 0 0 3555k 0 0:01:24 0:01:18 0:00:06 $'1680k\r' 93 294M 93 276M 0 0 3544k 0 0:01:25 0:01:19 0:00:06 $'1867k\r' 94 294M 94 279M 0 0 3529k 0 0:01:25 0:01:20 0:00:05 $'2070k\r' 95 294M 95 281M 0 0 3510k 0 0:01:25 0:01:21 0:00:04 $'2163k\r' 96 294M 96 283M 0 0 3496k 0 0:01:26 0:01:22 0:00:04 $'2266k\r' 96 294M 96 285M 0 0 3477k 0 0:01:26 0:01:23 0:00:03 $'2248k\r' 97 294M 97 286M 0 0 3454k 0 0:01:27 0:01:24 0:00:03 $'2008k\r' 97 294M 97 287M 0 0 3422k 0 0:01:28 0:01:26 0:00:02 $'1686k\r' 97 294M 97 288M 0 0 3395k 0 0:01:28 0:01:26 0:00:02 $'1507k\r' 98 294M 98 289M 0 0 3374k 0 0:01:29 0:01:27 0:00:02 $'1353k\r' 99 294M 99 292M 0 0 3362k 0 0:01:29 0:01:28 0:00:01 $'1437k\r' 99 294M 99 294M 0 0 3345k 0 0:01:30 0:01:29 0:00:01 $'1502k\r' 99 294M 99 294M 0 0 3317k 0 0:01:31 0:01:30 0:00:01 $'1499k\r100' 294M 100 294M 0 0 3308k 0 0:01:31 0:01:31 --:--:-- 1534k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 0222 ++ bp=0222 ++ bpb=0222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 294M 1 3419k 0 0 3478k 0 0:01:26 --:--:-- 0:01:26 $'3479k\r' 3 294M 3 10.9M 0 0 5653k 0 0:00:53 0:00:01 0:00:52 $'5654k\r' 6 294M 6 18.4M 0 0 6340k 0 0:00:47 0:00:02 0:00:45 $'6340k\r' 8 294M 8 25.6M 0 0 6603k 0 0:00:45 0:00:03 0:00:42 $'6603k\r' 11 294M 11 33.4M 0 0 6877k 0 0:00:43 0:00:04 0:00:39 $'6878k\r' 13 294M 13 40.6M 0 0 6950k 0 0:00:43 0:00:05 0:00:38 $'7632k\r' 16 294M 16 48.0M 0 0 7049k 0 0:00:42 0:00:06 0:00:36 $'7603k\r' 18 294M 18 54.7M 0 0 7023k 0 0:00:42 0:00:07 0:00:35 $'7430k\r' 20 294M 20 60.9M 0 0 6954k 0 0:00:43 0:00:08 0:00:35 $'7232k\r' 22 294M 22 65.9M 0 0 6762k 0 0:00:44 0:00:09 0:00:35 $'6648k\r' 23 294M 23 68.5M 0 0 6395k 0 0:00:47 0:00:10 0:00:37 $'5731k\r' 24 294M 24 71.4M 0 0 6100k 0 0:00:49 0:00:11 0:00:38 $'4776k\r' 24 294M 24 73.6M 0 0 5811k 0 0:00:51 0:00:12 0:00:39 $'3877k\r' 25 294M 25 74.6M 0 0 5465k 0 0:00:55 0:00:13 0:00:42 $'2798k\r' 25 294M 25 76.3M 0 0 5215k 0 0:00:57 0:00:14 0:00:43 $'2125k\r' 26 294M 26 78.7M 0 0 5044k 0 0:00:59 0:00:15 0:00:44 $'2076k\r' 27 294M 27 81.7M 0 0 4927k 0 0:01:01 0:00:16 0:00:45 $'2110k\r' 28 294M 28 84.9M 0 0 4840k 0 0:01:02 0:00:17 0:00:45 $'2317k\r' 29 294M 29 88.0M 0 0 4747k 0 0:01:03 0:00:18 0:00:45 $'2738k\r' 30 294M 30 90.9M 0 0 4659k 0 0:01:04 0:00:19 0:00:45 $'2995k\r' 32 294M 32 94.6M 0 0 4616k 0 0:01:05 0:00:20 0:00:45 $'3250k\r' 33 294M 33 99.0M 0 0 4614k 0 0:01:05 0:00:21 0:00:44 $'3550k\r' 35 294M 35 104M 0 0 4636k 0 0:01:05 0:00:22 0:00:43 $'3904k\r' 36 294M 36 108M 0 0 4650k 0 0:01:04 0:00:23 0:00:41 $'4282k\r' 38 294M 38 113M 0 0 4646k 0 0:01:04 0:00:24 0:00:40 $'4594k\r' 40 294M 40 118M 0 0 4673k 0 0:01:04 0:00:25 0:00:39 $'4911k\r' 41 294M 41 122M 0 0 4658k 0 0:01:04 0:00:26 0:00:38 $'4855k\r' 42 294M 42 125M 0 0 4605k 0 0:01:05 0:00:27 0:00:38 $'4462k\r' 43 294M 43 127M 0 0 4517k 0 0:01:06 0:00:28 0:00:38 $'3877k\r' 43 294M 43 128M 0 0 4384k 0 0:01:08 0:00:29 0:00:39 $'3075k\r' 43 294M 43 128M 0 0 4254k 0 0:01:10 0:00:31 0:00:39 $'2087k\r' 43 294M 43 129M 0 0 4148k 0 0:01:12 0:00:31 0:00:41 $'1399k\r' 44 294M 44 130M 0 0 4041k 0 0:01:14 0:00:32 0:00:42 $'889k\r' 44 294M 44 130M 0 0 3933k 0 0:01:16 0:00:34 0:00:42 $'564k\r' 44 294M 44 131M 0 0 3852k 0 0:01:18 0:00:34 0:00:44 $'660k\r' 45 294M 45 133M 0 0 3796k 0 0:01:19 0:00:35 0:00:44 $'941k\r' 46 294M 46 135M 0 0 3764k 0 0:01:20 0:00:36 0:00:44 $'1303k\r' 47 294M 47 139M 0 0 3753k 0 0:01:20 0:00:37 0:00:43 $'1847k\r' 48 294M 48 142M 0 0 3751k 0 0:01:20 0:00:38 0:00:42 $'2506k\r' 49 294M 49 146M 0 0 3763k 0 0:01:20 0:00:39 0:00:41 $'3139k\r' 51 294M 51 150M 0 0 3768k 0 0:01:20 0:00:40 0:00:40 $'3568k\r' 52 294M 52 154M 0 0 3766k 0 0:01:20 0:00:41 0:00:39 $'3778k\r' 53 294M 53 158M 0 0 3773k 0 0:01:20 0:00:42 0:00:38 $'3926k\r' 55 294M 55 162M 0 0 3794k 0 0:01:19 0:00:43 0:00:36 $'4129k\r' 56 294M 56 167M 0 0 3815k 0 0:01:19 0:00:44 0:00:35 $'4227k\r' 58 294M 58 172M 0 0 3834k 0 0:01:18 0:00:45 0:00:33 $'4374k\r' 60 294M 60 177M 0 0 3858k 0 0:01:18 0:00:46 0:00:32 $'4631k\r' 61 294M 61 181M 0 0 3873k 0 0:01:17 0:00:47 0:00:30 $'4733k\r' 63 294M 63 186M 0 0 3896k 0 0:01:17 0:00:48 0:00:29 $'4796k\r' 64 294M 64 191M 0 0 3921k 0 0:01:16 0:00:49 0:00:27 $'4881k\r' 66 294M 66 197M 0 0 3959k 0 0:01:16 0:00:50 0:00:26 $'5107k\r' 68 294M 68 202M 0 0 3992k 0 0:01:15 0:00:51 0:00:24 $'5254k\r' 70 294M 70 207M 0 0 4016k 0 0:01:15 0:00:52 0:00:23 $'5394k\r' 72 294M 72 213M 0 0 4055k 0 0:01:14 0:00:53 0:00:21 $'5607k\r' 74 294M 74 218M 0 0 4068k 0 0:01:14 0:00:54 0:00:20 $'5530k\r' 75 294M 75 222M 0 0 4070k 0 0:01:14 0:00:55 0:00:19 $'5200k\r' 76 294M 76 226M 0 0 4065k 0 0:01:14 0:00:56 0:00:18 $'4816k\r' 77 294M 77 229M 0 0 4047k 0 0:01:14 0:00:57 0:00:17 $'4374k\r' 78 294M 78 231M 0 0 4025k 0 0:01:15 0:00:58 0:00:17 $'3704k\r' 79 294M 79 234M 0 0 4003k 0 0:01:15 0:00:59 0:00:16 $'3294k\r' 80 294M 80 237M 0 0 3981k 0 0:01:15 0:01:00 0:00:15 $'2993k\r' 81 294M 81 239M 0 0 3957k 0 0:01:16 0:01:01 0:00:15 $'2730k\r' 82 294M 82 242M 0 0 3941k 0 0:01:16 0:01:02 0:00:14 $'2713k\r' 83 294M 83 245M 0 0 3928k 0 0:01:16 0:01:03 0:00:13 $'2778k\r' 84 294M 84 247M 0 0 3907k 0 0:01:17 0:01:04 0:00:13 $'2757k\r' 84 294M 84 249M 0 0 3878k 0 0:01:17 0:01:05 0:00:12 $'2620k\r' 85 294M 85 251M 0 0 3847k 0 0:01:18 0:01:06 0:00:12 $'2489k\r' 86 294M 86 253M 0 0 3822k 0 0:01:18 0:01:07 0:00:11 $'2325k\r' 86 294M 86 255M 0 0 3797k 0 0:01:19 0:01:08 0:00:11 $'2128k\r' 87 294M 87 258M 0 0 3776k 0 0:01:19 0:01:09 0:00:10 $'2064k\r' 88 294M 88 259M 0 0 3744k 0 0:01:20 0:01:10 0:00:10 $'1973k\r' 88 294M 88 261M 0 0 3715k 0 0:01:21 0:01:11 0:00:10 $'1945k\r' 89 294M 89 263M 0 0 3696k 0 0:01:21 0:01:12 0:00:09 $'1977k\r' 90 294M 90 266M 0 0 3682k 0 0:01:21 0:01:13 0:00:08 $'2089k\r' 90 294M 90 267M 0 0 3656k 0 0:01:22 0:01:14 0:00:08 $'1980k\r' 91 294M 91 269M 0 0 3625k 0 0:01:23 0:01:15 0:00:08 $'1940k\r' 91 294M 91 270M 0 0 3598k 0 0:01:23 0:01:16 0:00:07 $'1907k\r' 92 294M 92 272M 0 0 3574k 0 0:01:24 0:01:17 0:00:07 $'1798k\r' 93 294M 93 274M 0 0 3555k 0 0:01:24 0:01:18 0:00:06 $'1680k\r' 93 294M 93 276M 0 0 3544k 0 0:01:25 0:01:19 0:00:06 $'1867k\r' 94 294M 94 279M 0 0 3529k 0 0:01:25 0:01:20 0:00:05 $'2070k\r' 95 294M 95 281M 0 0 3510k 0 0:01:25 0:01:21 0:00:04 $'2163k\r' 96 294M 96 283M 0 0 3496k 0 0:01:26 0:01:22 0:00:04 $'2266k\r' 96 294M 96 285M 0 0 3477k 0 0:01:26 0:01:23 0:00:03 $'2248k\r' 97 294M 97 286M 0 0 3454k 0 0:01:27 0:01:24 0:00:03 $'2008k\r' 97 294M 97 287M 0 0 3422k 0 0:01:28 0:01:26 0:00:02 $'1686k\r' 97 294M 97 288M 0 0 3395k 0 0:01:28 0:01:26 0:00:02 $'1507k\r' 98 294M 98 289M 0 0 3374k 0 0:01:29 0:01:27 0:00:02 $'1353k\r' 99 294M 99 292M 0 0 3362k 0 0:01:29 0:01:28 0:00:01 $'1437k\r' 99 294M 99 294M 0 0 3345k 0 0:01:30 0:01:29 0:00:01 $'1502k\r' 99 294M 99 294M 0 0 3317k 0 0:01:31 0:01:30 0:00:01 $'1499k\r100' 294M 100 294M 0 0 3308k 0 0:01:31 0:01:31 --:--:-- 1534k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 0222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 0222 ']' ++ '[' '!' -d 0222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 231M 0 1291k 0 0 1813k 0 0:02:10 --:--:-- 0:02:10 1813k 1 231M 1 4187k 0 0 2449k 0 0:01:36 0:00:01 0:01:35 2448k 3 231M 3 7691k 0 0 2836k 0 0:01:23 0:00:02 0:01:21 2836k 4 231M 4 9739k 0 0 2624k 0 0:01:30 0:00:03 0:01:27 2624k 5 231M 5 12.2M 0 0 2664k 0 0:01:28 0:00:04 0:01:24 2663k 6 231M 6 15.5M 0 0 2784k 0 0:01:25 0:00:05 0:01:20 2922k 7 231M 7 18.2M 0 0 2788k 0 0:01:24 0:00:06 0:01:18 2905k 8 231M 8 19.8M 0 0 2630k 0 0:01:30 0:00:07 0:01:23 2518k 9 231M 9 21.8M 0 0 2564k 0 0:01:32 0:00:08 0:01:24 2520k 10 231M 10 23.8M 0 0 2516k 0 0:01:34 0:00:09 0:01:25 2377k 11 231M 11 25.8M 0 0 2471k 0 0:01:35 0:00:10 0:01:25 2113k 12 231M 12 28.4M 0 0 2486k 0 0:01:35 0:00:11 0:01:24 2080k 13 231M 13 30.9M 0 0 2493k 0 0:01:34 0:00:12 0:01:22 2284k 14 231M 14 33.9M 0 0 2537k 0 0:01:33 0:00:13 0:01:20 2490k 16 231M 16 37.1M 0 0 2587k 0 0:01:31 0:00:14 0:01:17 2724k 17 231M 17 40.1M 0 0 2619k 0 0:01:30 0:00:15 0:01:15 2937k 18 231M 18 43.7M 0 0 2682k 0 0:01:28 0:00:16 0:01:12 3142k 20 231M 20 47.9M 0 0 2771k 0 0:01:25 0:00:17 0:01:08 3477k 22 231M 22 52.8M 0 0 2891k 0 0:01:21 0:00:18 0:01:03 3859k 25 231M 25 58.0M 0 0 3013k 0 0:01:18 0:00:19 0:00:59 4269k 27 231M 27 62.8M 0 0 3107k 0 0:01:16 0:00:20 0:00:56 4640k 28 231M 28 66.8M 0 0 3153k 0 0:01:15 0:00:21 0:00:54 4725k 30 231M 30 70.4M 0 0 3174k 0 0:01:14 0:00:22 0:00:52 4600k 31 231M 31 73.5M 0 0 3176k 0 0:01:14 0:00:23 0:00:51 4242k 32 231M 32 75.5M 0 0 3130k 0 0:01:15 0:00:24 0:00:51 3590k 33 231M 33 77.5M 0 0 3089k 0 0:01:16 0:00:25 0:00:51 3011k 34 231M 34 79.4M 0 0 3047k 0 0:01:17 0:00:26 0:00:51 2588k 34 231M 34 80.1M 0 0 2958k 0 0:01:20 0:00:27 0:00:53 1982k 34 231M 34 80.7M 0 0 2879k 0 0:01:22 0:00:28 0:00:54 1472k 35 231M 35 81.1M 0 0 2794k 0 0:01:24 0:00:29 0:00:55 1135k 35 231M 35 81.4M 0 0 2714k 0 0:01:27 0:00:30 0:00:57 786k 35 231M 35 81.7M 0 0 2638k 0 0:01:29 0:00:31 0:00:58 461k 35 231M 35 82.4M 0 0 2580k 0 0:01:31 0:00:32 0:00:59 472k 35 231M 35 83.0M 0 0 2522k 0 0:01:33 0:00:33 0:01:00 479k 36 231M 36 83.5M 0 0 2465k 0 0:01:36 0:00:34 0:01:02 508k 36 231M 36 84.2M 0 0 2416k 0 0:01:38 0:00:35 0:01:03 586k 36 231M 36 84.8M 0 0 2365k 0 0:01:40 0:00:36 0:01:04 629k 37 231M 37 86.0M 0 0 2336k 0 0:01:41 0:00:37 0:01:04 745k 38 231M 38 88.0M 0 0 2329k 0 0:01:41 0:00:38 0:01:03 1025k 39 231M 39 90.8M 0 0 2341k 0 0:01:41 0:00:39 0:01:02 1480k 40 231M 40 93.9M 0 0 2362k 0 0:01:40 0:00:40 0:01:00 1974k 42 231M 42 97.1M 0 0 2385k 0 0:01:39 0:00:41 0:00:58 2531k 43 231M 43 100M 0 0 2403k 0 0:01:38 0:00:42 0:00:56 2909k 44 231M 44 103M 0 0 2427k 0 0:01:37 0:00:43 0:00:54 3184k 46 231M 46 106M 0 0 2449k 0 0:01:36 0:00:44 0:00:52 3302k 47 231M 47 110M 0 0 2475k 0 0:01:35 0:00:45 0:00:50 3394k 49 231M 49 114M 0 0 2509k 0 0:01:34 0:00:46 0:00:48 3539k 51 231M 51 118M 0 0 2536k 0 0:01:33 0:00:47 0:00:46 3667k 52 231M 52 122M 0 0 2567k 0 0:01:32 0:00:48 0:00:44 3792k 54 231M 54 126M 0 0 2600k 0 0:01:31 0:00:49 0:00:42 3951k 56 231M 56 130M 0 0 2631k 0 0:01:30 0:00:50 0:00:40 4065k 58 231M 58 134M 0 0 2666k 0 0:01:28 0:00:51 0:00:37 4131k 59 231M 59 138M 0 0 2692k 0 0:01:28 0:00:52 0:00:36 4179k 61 231M 61 142M 0 0 2716k 0 0:01:27 0:00:53 0:00:34 4171k 63 231M 63 146M 0 0 2738k 0 0:01:26 0:00:54 0:00:32 4112k 65 231M 65 150M 0 0 2766k 0 0:01:25 0:00:55 0:00:30 4134k 66 231M 66 154M 0 0 2788k 0 0:01:24 0:00:56 0:00:28 4057k 68 231M 68 158M 0 0 2820k 0 0:01:23 0:00:57 0:00:26 4176k 70 231M 70 164M 0 0 2863k 0 0:01:22 0:00:58 0:00:24 4432k 72 231M 72 168M 0 0 2891k 0 0:01:21 0:00:59 0:00:22 4566k 74 231M 74 173M 0 0 2926k 0 0:01:20 0:01:00 0:00:20 4705k 77 231M 77 178M 0 0 2961k 0 0:01:19 0:01:01 0:00:18 4920k 79 231M 79 183M 0 0 2990k 0 0:01:19 0:01:02 0:00:17 4950k 80 231M 80 186M 0 0 3001k 0 0:01:18 0:01:03 0:00:15 4623k 82 231M 82 190M 0 0 3021k 0 0:01:18 0:01:04 0:00:14 4572k 84 231M 84 195M 0 0 3044k 0 0:01:17 0:01:05 0:00:12 4473k 86 231M 86 200M 0 0 3075k 0 0:01:17 0:01:06 0:00:11 4487k 89 231M 89 206M 0 0 3115k 0 0:01:16 0:01:07 0:00:09 4688k 91 231M 91 211M 0 0 3144k 0 0:01:15 0:01:08 0:00:07 4976k 93 231M 93 215M 0 0 3163k 0 0:01:14 0:01:09 0:00:05 5001k 94 231M 94 219M 0 0 3180k 0 0:01:14 0:01:10 0:00:04 4960k 95 231M 95 221M 0 0 3158k 0 0:01:15 0:01:11 0:00:04 4259k 96 231M 96 223M 0 0 3140k 0 0:01:15 0:01:12 0:00:03 3478k 97 231M 97 225M 0 0 3128k 0 0:01:15 0:01:13 0:00:02 2900k 98 231M 98 226M 0 0 3110k 0 0:01:16 0:01:14 0:00:02 2367k 99 231M 99 229M 0 0 3099k 0 0:01:16 0:01:15 0:00:01 1942k 100 231M 100 231M 0 0 3097k 0 0:01:16 0:01:16 --:--:-- 2182k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l inux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 231M 0 1291k 0 0 1813k 0 0:02:10 --:--:-- 0:02:10 $'1813k\r' 1 231M 1 4187k 0 0 2449k 0 0:01:36 0:00:01 0:01:35 $'2448k\r' 3 231M 3 7691k 0 0 2836k 0 0:01:23 0:00:02 0:01:21 $'2836k\r' 4 231M 4 9739k 0 0 2624k 0 0:01:30 0:00:03 0:01:27 $'2624k\r' 5 231M 5 12.2M 0 0 2664k 0 0:01:28 0:00:04 0:01:24 $'2663k\r' 6 231M 6 15.5M 0 0 2784k 0 0:01:25 0:00:05 0:01:20 $'2922k\r' 7 231M 7 18.2M 0 0 2788k 0 0:01:24 0:00:06 0:01:18 $'2905k\r' 8 231M 8 19.8M 0 0 2630k 0 0:01:30 0:00:07 0:01:23 $'2518k\r' 9 231M 9 21.8M 0 0 2564k 0 0:01:32 0:00:08 0:01:24 $'2520k\r' 10 231M 10 23.8M 0 0 2516k 0 0:01:34 0:00:09 0:01:25 $'2377k\r' 11 231M 11 25.8M 0 0 2471k 0 0:01:35 0:00:10 0:01:25 $'2113k\r' 12 231M 12 28.4M 0 0 2486k 0 0:01:35 0:00:11 0:01:24 $'2080k\r' 13 231M 13 30.9M 0 0 2493k 0 0:01:34 0:00:12 0:01:22 $'2284k\r' 14 231M 14 33.9M 0 0 2537k 0 0:01:33 0:00:13 0:01:20 $'2490k\r' 16 231M 16 37.1M 0 0 2587k 0 0:01:31 0:00:14 0:01:17 $'2724k\r' 17 231M 17 40.1M 0 0 2619k 0 0:01:30 0:00:15 0:01:15 $'2937k\r' 18 231M 18 43.7M 0 0 2682k 0 0:01:28 0:00:16 0:01:12 $'3142k\r' 20 231M 20 47.9M 0 0 2771k 0 0:01:25 0:00:17 0:01:08 $'3477k\r' 22 231M 22 52.8M 0 0 2891k 0 0:01:21 0:00:18 0:01:03 $'3859k\r' 25 231M 25 58.0M 0 0 3013k 0 0:01:18 0:00:19 0:00:59 $'4269k\r' 27 231M 27 62.8M 0 0 3107k 0 0:01:16 0:00:20 0:00:56 $'4640k\r' 28 231M 28 66.8M 0 0 3153k 0 0:01:15 0:00:21 0:00:54 $'4725k\r' 30 231M 30 70.4M 0 0 3174k 0 0:01:14 0:00:22 0:00:52 $'4600k\r' 31 231M 31 73.5M 0 0 3176k 0 0:01:14 0:00:23 0:00:51 $'4242k\r' 32 231M 32 75.5M 0 0 3130k 0 0:01:15 0:00:24 0:00:51 $'3590k\r' 33 231M 33 77.5M 0 0 3089k 0 0:01:16 0:00:25 0:00:51 $'3011k\r' 34 231M 34 79.4M 0 0 3047k 0 0:01:17 0:00:26 0:00:51 $'2588k\r' 34 231M 34 80.1M 0 0 2958k 0 0:01:20 0:00:27 0:00:53 $'1982k\r' 34 231M 34 80.7M 0 0 2879k 0 0:01:22 0:00:28 0:00:54 $'1472k\r' 35 231M 35 81.1M 0 0 2794k 0 0:01:24 0:00:29 0:00:55 $'1135k\r' 35 231M 35 81.4M 0 0 2714k 0 0:01:27 0:00:30 0:00:57 $'786k\r' 35 231M 35 81.7M 0 0 2638k 0 0:01:29 0:00:31 0:00:58 $'461k\r' 35 231M 35 82.4M 0 0 2580k 0 0:01:31 0:00:32 0:00:59 $'472k\r' 35 231M 35 83.0M 0 0 2522k 0 0:01:33 0:00:33 0:01:00 $'479k\r' 36 231M 36 83.5M 0 0 2465k 0 0:01:36 0:00:34 0:01:02 $'508k\r' 36 231M 36 84.2M 0 0 2416k 0 0:01:38 0:00:35 0:01:03 $'586k\r' 36 231M 36 84.8M 0 0 2365k 0 0:01:40 0:00:36 0:01:04 $'629k\r' 37 231M 37 86.0M 0 0 2336k 0 0:01:41 0:00:37 0:01:04 $'745k\r' 38 231M 38 88.0M 0 0 2329k 0 0:01:41 0:00:38 0:01:03 $'1025k\r' 39 231M 39 90.8M 0 0 2341k 0 0:01:41 0:00:39 0:01:02 $'1480k\r' 40 231M 40 93.9M 0 0 2362k 0 0:01:40 0:00:40 0:01:00 $'1974k\r' 42 231M 42 97.1M 0 0 2385k 0 0:01:39 0:00:41 0:00:58 $'2531k\r' 43 231M 43 100M 0 0 2403k 0 0:01:38 0:00:42 0:00:56 $'2909k\r' 44 231M 44 103M 0 0 2427k 0 0:01:37 0:00:43 0:00:54 $'3184k\r' 46 231M 46 106M 0 0 2449k 0 0:01:36 0:00:44 0:00:52 $'3302k\r' 47 231M 47 110M 0 0 2475k 0 0:01:35 0:00:45 0:00:50 $'3394k\r' 49 231M 49 114M 0 0 2509k 0 0:01:34 0:00:46 0:00:48 $'3539k\r' 51 231M 51 118M 0 0 2536k 0 0:01:33 0:00:47 0:00:46 $'3667k\r' 52 231M 52 122M 0 0 2567k 0 0:01:32 0:00:48 0:00:44 $'3792k\r' 54 231M 54 126M 0 0 2600k 0 0:01:31 0:00:49 0:00:42 $'3951k\r' 56 231M 56 130M 0 0 2631k 0 0:01:30 0:00:50 0:00:40 $'4065k\r' 58 231M 58 134M 0 0 2666k 0 0:01:28 0:00:51 0:00:37 $'4131k\r' 59 231M 59 138M 0 0 2692k 0 0:01:28 0:00:52 0:00:36 $'4179k\r' 61 231M 61 142M 0 0 2716k 0 0:01:27 0:00:53 0:00:34 $'4171k\r' 63 231M 63 146M 0 0 2738k 0 0:01:26 0:00:54 0:00:32 $'4112k\r' 65 231M 65 150M 0 0 2766k 0 0:01:25 0:00:55 0:00:30 $'4134k\r' 66 231M 66 154M 0 0 2788k 0 0:01:24 0:00:56 0:00:28 $'4057k\r' 68 231M 68 158M 0 0 2820k 0 0:01:23 0:00:57 0:00:26 $'4176k\r' 70 231M 70 164M 0 0 2863k 0 0:01:22 0:00:58 0:00:24 $'4432k\r' 72 231M 72 168M 0 0 2891k 0 0:01:21 0:00:59 0:00:22 $'4566k\r' 74 231M 74 173M 0 0 2926k 0 0:01:20 0:01:00 0:00:20 $'4705k\r' 77 231M 77 178M 0 0 2961k 0 0:01:19 0:01:01 0:00:18 $'4920k\r' 79 231M 79 183M 0 0 2990k 0 0:01:19 0:01:02 0:00:17 $'4950k\r' 80 231M 80 186M 0 0 3001k 0 0:01:18 0:01:03 0:00:15 $'4623k\r' 82 231M 82 190M 0 0 3021k 0 0:01:18 0:01:04 0:00:14 $'4572k\r' 84 231M 84 195M 0 0 3044k 0 0:01:17 0:01:05 0:00:12 $'4473k\r' 86 231M 86 200M 0 0 3075k 0 0:01:17 0:01:06 0:00:11 $'4487k\r' 89 231M 89 206M 0 0 3115k 0 0:01:16 0:01:07 0:00:09 $'4688k\r' 91 231M 91 211M 0 0 3144k 0 0:01:15 0:01:08 0:00:07 $'4976k\r' 93 231M 93 215M 0 0 3163k 0 0:01:14 0:01:09 0:00:05 $'5001k\r' 94 231M 94 219M 0 0 3180k 0 0:01:14 0:01:10 0:00:04 $'4960k\r' 95 231M 95 221M 0 0 3158k 0 0:01:15 0:01:11 0:00:04 $'4259k\r' 96 231M 96 223M 0 0 3140k 0 0:01:15 0:01:12 0:00:03 $'3478k\r' 97 231M 97 225M 0 0 3128k 0 0:01:15 0:01:13 0:00:02 $'2900k\r' 98 231M 98 226M 0 0 3110k 0 0:01:16 0:01:14 0:00:02 $'2367k\r' 99 231M 99 229M 0 0 3099k 0 0:01:16 0:01:15 0:00:01 $'1942k\r100' 231M 100 231M 0 0 3097k 0 0:01:16 0:01:16 --:--:-- 2182k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l inux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 231M 0 1291k 0 0 1813k 0 0:02:10 --:--:-- 0:02:10 $'1813k\r' 1 231M 1 4187k 0 0 2449k 0 0:01:36 0:00:01 0:01:35 $'2448k\r' 3 231M 3 7691k 0 0 2836k 0 0:01:23 0:00:02 0:01:21 $'2836k\r' 4 231M 4 9739k 0 0 2624k 0 0:01:30 0:00:03 0:01:27 $'2624k\r' 5 231M 5 12.2M 0 0 2664k 0 0:01:28 0:00:04 0:01:24 $'2663k\r' 6 231M 6 15.5M 0 0 2784k 0 0:01:25 0:00:05 0:01:20 $'2922k\r' 7 231M 7 18.2M 0 0 2788k 0 0:01:24 0:00:06 0:01:18 $'2905k\r' 8 231M 8 19.8M 0 0 2630k 0 0:01:30 0:00:07 0:01:23 $'2518k\r' 9 231M 9 21.8M 0 0 2564k 0 0:01:32 0:00:08 0:01:24 $'2520k\r' 10 231M 10 23.8M 0 0 2516k 0 0:01:34 0:00:09 0:01:25 $'2377k\r' 11 231M 11 25.8M 0 0 2471k 0 0:01:35 0:00:10 0:01:25 $'2113k\r' 12 231M 12 28.4M 0 0 2486k 0 0:01:35 0:00:11 0:01:24 $'2080k\r' 13 231M 13 30.9M 0 0 2493k 0 0:01:34 0:00:12 0:01:22 $'2284k\r' 14 231M 14 33.9M 0 0 2537k 0 0:01:33 0:00:13 0:01:20 $'2490k\r' 16 231M 16 37.1M 0 0 2587k 0 0:01:31 0:00:14 0:01:17 $'2724k\r' 17 231M 17 40.1M 0 0 2619k 0 0:01:30 0:00:15 0:01:15 $'2937k\r' 18 231M 18 43.7M 0 0 2682k 0 0:01:28 0:00:16 0:01:12 $'3142k\r' 20 231M 20 47.9M 0 0 2771k 0 0:01:25 0:00:17 0:01:08 $'3477k\r' 22 231M 22 52.8M 0 0 2891k 0 0:01:21 0:00:18 0:01:03 $'3859k\r' 25 231M 25 58.0M 0 0 3013k 0 0:01:18 0:00:19 0:00:59 $'4269k\r' 27 231M 27 62.8M 0 0 3107k 0 0:01:16 0:00:20 0:00:56 $'4640k\r' 28 231M 28 66.8M 0 0 3153k 0 0:01:15 0:00:21 0:00:54 $'4725k\r' 30 231M 30 70.4M 0 0 3174k 0 0:01:14 0:00:22 0:00:52 $'4600k\r' 31 231M 31 73.5M 0 0 3176k 0 0:01:14 0:00:23 0:00:51 $'4242k\r' 32 231M 32 75.5M 0 0 3130k 0 0:01:15 0:00:24 0:00:51 $'3590k\r' 33 231M 33 77.5M 0 0 3089k 0 0:01:16 0:00:25 0:00:51 $'3011k\r' 34 231M 34 79.4M 0 0 3047k 0 0:01:17 0:00:26 0:00:51 $'2588k\r' 34 231M 34 80.1M 0 0 2958k 0 0:01:20 0:00:27 0:00:53 $'1982k\r' 34 231M 34 80.7M 0 0 2879k 0 0:01:22 0:00:28 0:00:54 $'1472k\r' 35 231M 35 81.1M 0 0 2794k 0 0:01:24 0:00:29 0:00:55 $'1135k\r' 35 231M 35 81.4M 0 0 2714k 0 0:01:27 0:00:30 0:00:57 $'786k\r' 35 231M 35 81.7M 0 0 2638k 0 0:01:29 0:00:31 0:00:58 $'461k\r' 35 231M 35 82.4M 0 0 2580k 0 0:01:31 0:00:32 0:00:59 $'472k\r' 35 231M 35 83.0M 0 0 2522k 0 0:01:33 0:00:33 0:01:00 $'479k\r' 36 231M 36 83.5M 0 0 2465k 0 0:01:36 0:00:34 0:01:02 $'508k\r' 36 231M 36 84.2M 0 0 2416k 0 0:01:38 0:00:35 0:01:03 $'586k\r' 36 231M 36 84.8M 0 0 2365k 0 0:01:40 0:00:36 0:01:04 $'629k\r' 37 231M 37 86.0M 0 0 2336k 0 0:01:41 0:00:37 0:01:04 $'745k\r' 38 231M 38 88.0M 0 0 2329k 0 0:01:41 0:00:38 0:01:03 $'1025k\r' 39 231M 39 90.8M 0 0 2341k 0 0:01:41 0:00:39 0:01:02 $'1480k\r' 40 231M 40 93.9M 0 0 2362k 0 0:01:40 0:00:40 0:01:00 $'1974k\r' 42 231M 42 97.1M 0 0 2385k 0 0:01:39 0:00:41 0:00:58 $'2531k\r' 43 231M 43 100M 0 0 2403k 0 0:01:38 0:00:42 0:00:56 $'2909k\r' 44 231M 44 103M 0 0 2427k 0 0:01:37 0:00:43 0:00:54 $'3184k\r' 46 231M 46 106M 0 0 2449k 0 0:01:36 0:00:44 0:00:52 $'3302k\r' 47 231M 47 110M 0 0 2475k 0 0:01:35 0:00:45 0:00:50 $'3394k\r' 49 231M 49 114M 0 0 2509k 0 0:01:34 0:00:46 0:00:48 $'3539k\r' 51 231M 51 118M 0 0 2536k 0 0:01:33 0:00:47 0:00:46 $'3667k\r' 52 231M 52 122M 0 0 2567k 0 0:01:32 0:00:48 0:00:44 $'3792k\r' 54 231M 54 126M 0 0 2600k 0 0:01:31 0:00:49 0:00:42 $'3951k\r' 56 231M 56 130M 0 0 2631k 0 0:01:30 0:00:50 0:00:40 $'4065k\r' 58 231M 58 134M 0 0 2666k 0 0:01:28 0:00:51 0:00:37 $'4131k\r' 59 231M 59 138M 0 0 2692k 0 0:01:28 0:00:52 0:00:36 $'4179k\r' 61 231M 61 142M 0 0 2716k 0 0:01:27 0:00:53 0:00:34 $'4171k\r' 63 231M 63 146M 0 0 2738k 0 0:01:26 0:00:54 0:00:32 $'4112k\r' 65 231M 65 150M 0 0 2766k 0 0:01:25 0:00:55 0:00:30 $'4134k\r' 66 231M 66 154M 0 0 2788k 0 0:01:24 0:00:56 0:00:28 $'4057k\r' 68 231M 68 158M 0 0 2820k 0 0:01:23 0:00:57 0:00:26 $'4176k\r' 70 231M 70 164M 0 0 2863k 0 0:01:22 0:00:58 0:00:24 $'4432k\r' 72 231M 72 168M 0 0 2891k 0 0:01:21 0:00:59 0:00:22 $'4566k\r' 74 231M 74 173M 0 0 2926k 0 0:01:20 0:01:00 0:00:20 $'4705k\r' 77 231M 77 178M 0 0 2961k 0 0:01:19 0:01:01 0:00:18 $'4920k\r' 79 231M 79 183M 0 0 2990k 0 0:01:19 0:01:02 0:00:17 $'4950k\r' 80 231M 80 186M 0 0 3001k 0 0:01:18 0:01:03 0:00:15 $'4623k\r' 82 231M 82 190M 0 0 3021k 0 0:01:18 0:01:04 0:00:14 $'4572k\r' 84 231M 84 195M 0 0 3044k 0 0:01:17 0:01:05 0:00:12 $'4473k\r' 86 231M 86 200M 0 0 3075k 0 0:01:17 0:01:06 0:00:11 $'4487k\r' 89 231M 89 206M 0 0 3115k 0 0:01:16 0:01:07 0:00:09 $'4688k\r' 91 231M 91 211M 0 0 3144k 0 0:01:15 0:01:08 0:00:07 $'4976k\r' 93 231M 93 215M 0 0 3163k 0 0:01:14 0:01:09 0:00:05 $'5001k\r' 94 231M 94 219M 0 0 3180k 0 0:01:14 0:01:10 0:00:04 $'4960k\r' 95 231M 95 221M 0 0 3158k 0 0:01:15 0:01:11 0:00:04 $'4259k\r' 96 231M 96 223M 0 0 3140k 0 0:01:15 0:01:12 0:00:03 $'3478k\r' 97 231M 97 225M 0 0 3128k 0 0:01:15 0:01:13 0:00:02 $'2900k\r' 98 231M 98 226M 0 0 3110k 0 0:01:16 0:01:14 0:00:02 $'2367k\r' 99 231M 99 229M 0 0 3099k 0 0:01:16 0:01:15 0:00:01 $'1942k\r100' 231M 100 231M 0 0 3097k 0 0:01:16 0:01:16 --:--:-- 2182k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fe425b1b7a491bda2534bdb80ee503838d852ef8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x0000003fcd5c5000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fcd4e3000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fcd388000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fcd5c7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31de725bef0a8f53eba36769a7be37eb620f7a2b, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x0000003fd6181000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fd609a000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fd5f3f000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd6183000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=6818370a530b64acc240e73fe321d99cad94a723, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x0000003fbbaf4000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fbb971000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fbb816000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbbaf6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x0000003ff2f90000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff2e2d000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff2f92000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7dcd2e59d53f6d4df6af7b3e89b2cfe8ca36b34e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003fc27cb000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc26e2000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc2587000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc27cd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep dynamic ++ grep ELF ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c6b55f7b647f4be0abdddcd7c409dc955bfb739e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x0000003fe1e50000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe1ced000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe1e52000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=0b8b290ca6f508e50e2ee64996305cc443ac5b9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003fbdbcb000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fbda60000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbdbcd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x0000003fc9987000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc9824000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc9989000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x0000003ff0ce9000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff0b86000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff0ceb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x0000003fe8a1f000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe88bc000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe8a21000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3fb51f60d57bc734aad41355e1322a1f69065a08, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003fbdc56000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fbdaf3000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbdc58000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=aa885dc4f52b6e5a2dc3ff98ff89813779396b51, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003fc46e2000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc457f000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc46e4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=abe52db7cdccf81e5cfd6f19181c4774e518cfbf, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003fd8484000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fd8321000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd8486000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f4c79502e3260a437a576e9d0e8ff928caf63a22, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fdbe52000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fdbcef000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fdbe54000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=250949fdcaea85ea941660452bee5c21163be16d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003fc517c000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc5019000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc517e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=bdbc9147210bd108886a761a21f60e7c95dc50fe, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003fe2f4c000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe2de9000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe2f4e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=11def813f48d99dd78f2eed8d17c73351bf9a388, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x0000003fe06c6000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fdfdbe000) + libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0000003fdfb99000) + libm.so.6 => /usr/lib/libm.so.6 (0x0000003fdfb17000) + libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x0000003fdfafc000) + libpthread.so.0 => /usr/lib/libpthread.so.0 (0x0000003fdfaf9000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fdf99e000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe06c8000) + libatomic.so.1 => /usr/lib/libatomic.so.1 (0x0000003fdf994000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31a93e40023c23a993b5e737137c15f485083b1f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003fe00cf000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fdff6c000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe00d1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=14684908d7a6f26b4fe822ccc2c8a1671837bf89, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x0000003ff056d000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003ff03d0000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff0275000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff056f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x0000003fc056a000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc028f000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc0134000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc056c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep .so ++ grep 'not found' ++ grep -vE '\(0x' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003fcbca3000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fcb9c8000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fcb86d000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fcbca5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f56289121545e9eb29e087f10379becc076ad124, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003fd5f2f000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fd5f24000) + libm.so.6 => /usr/lib/libm.so.6 (0x0000003fd5ea2000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fd5d47000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd5f31000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c1118173c3261176ae28b908f20c4041c87f3ab9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x0000003fd9897000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fd97b2000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fd9657000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd9899000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=71097d0a87f2b1884d767d8642b4ad6efef42cb7, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003ff571b000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003ff561f000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff54c4000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff571d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=be6ba9a387e69d9794c5ffe7787406e472079843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x0000003fe3893000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fe36e0000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe3585000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe3895000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=10be3c866f93235555c6a0c7224be62154ba798a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003fe1bdf000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fe1af8000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe199d000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe1be1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5043d4e49f9753ae93a7066487ac2033dbf381e3, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x0000003ff6a26000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff67eb000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff6a28000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8fe5d0c1d00aa3df97c5cff89f80764eba1e3bf1, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x0000003fe227c000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fe219a000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe203f000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe227e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=38962ec5375f6fee8f010906f654b502273effd8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x0000003fc3284000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc31a1000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc3046000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc3286000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8601474e5e55cf97a2e4bd5b6ad6e7d631e19ee5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x0000003fd6dc8000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fd6ccc000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fd6b71000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd6dca000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for +host linux/riscv64' ++ retc=2 +++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check toolchain/llvm-upstream no binary for current host' ++ message='Check toolchain/llvm-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check toolchain/llvm-upstream no binary for current host' +Tue Apr 9 00:35:53 2024 - WARN - Check toolchain/llvm-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 42.8M 7 3309k 0 0 4803k 0 0:00:09 --:--:-- 0:00:09 4803k 26 42.8M 26 11.5M 0 0 7012k 0 0:00:06 0:00:01 0:00:05 7010k 48 42.8M 48 20.7M 0 0 7927k 0 0:00:05 0:00:02 0:00:03 7927k 66 42.8M 66 28.5M 0 0 7935k 0 0:00:05 0:00:03 0:00:02 7934k 85 42.8M 85 36.4M 0 0 7971k 0 0:00:05 0:00:04 0:00:01 7970k 100 42.8M 100 42.8M 0 0 8063k 0 0:00:05 0:00:05 --:--:-- 8538k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 7 42.8M 7 3309k 0 0 4803k 0 0:00:09 --:--:-- 0:00:09 $'4803k\r' 26 42.8M 26 11.5M 0 0 7012k 0 0:00:06 0:00:01 0:00:05 $'7010k\r' 48 42.8M 48 20.7M 0 0 7927k 0 0:00:05 0:00:02 0:00:03 $'7927k\r' 66 42.8M 66 28.5M 0 0 7935k 0 0:00:05 0:00:03 0:00:02 $'7934k\r' 85 42.8M 85 36.4M 0 0 7971k 0 0:00:05 0:00:04 0:00:01 $'7970k\r100' 42.8M 100 42.8M 0 0 8063k 0 0:00:05 0:00:05 --:--:-- 8538k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=23.0-ruyi.20240224 ++ bpb=23.0-ruyi.20240224/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 7 42.8M 7 3309k 0 0 4803k 0 0:00:09 --:--:-- 0:00:09 $'4803k\r' 26 42.8M 26 11.5M 0 0 7012k 0 0:00:06 0:00:01 0:00:05 $'7010k\r' 48 42.8M 48 20.7M 0 0 7927k 0 0:00:05 0:00:02 0:00:03 $'7927k\r' 66 42.8M 66 28.5M 0 0 7935k 0 0:00:05 0:00:03 0:00:02 $'7934k\r' 85 42.8M 85 36.4M 0 0 7971k 0 0:00:05 0:00:04 0:00:01 $'7970k\r100' 42.8M 100 42.8M 0 0 8063k 0 0:00:05 0:00:05 --:--:-- 8538k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 23.0-ruyi.20240224 ']' ++ '[' '!' -d 23.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 224M 0 1436k 0 0 2742k 0 0:01:23 --:--:-- 0:01:23 2740k 2 224M 2 6859k 0 0 4502k 0 0:00:51 0:00:01 0:00:50 4501k 5 224M 5 11.6M 0 0 4725k 0 0:00:48 0:00:02 0:00:46 4725k 7 224M 7 17.1M 0 0 4969k 0 0:00:46 0:00:03 0:00:43 4969k 9 224M 9 22.0M 0 0 4995k 0 0:00:45 0:00:04 0:00:41 4995k 12 224M 12 27.5M 0 0 5113k 0 0:00:44 0:00:05 0:00:39 5362k 14 224M 14 33.5M 0 0 5268k 0 0:00:43 0:00:06 0:00:37 5501k 17 224M 17 40.1M 0 0 5463k 0 0:00:42 0:00:07 0:00:35 5834k 20 224M 20 46.0M 0 0 5529k 0 0:00:41 0:00:08 0:00:33 5924k 23 224M 23 52.0M 0 0 5592k 0 0:00:41 0:00:09 0:00:32 6132k 25 224M 25 57.8M 0 0 5626k 0 0:00:40 0:00:10 0:00:30 6193k 28 224M 28 63.7M 0 0 5669k 0 0:00:40 0:00:11 0:00:29 6191k 31 224M 31 70.6M 0 0 5774k 0 0:00:39 0:00:12 0:00:27 6243k 33 224M 33 76.2M 0 0 5773k 0 0:00:39 0:00:13 0:00:26 6188k 36 224M 36 82.1M 0 0 5790k 0 0:00:39 0:00:14 0:00:25 6167k 38 224M 38 87.4M 0 0 5765k 0 0:00:39 0:00:15 0:00:24 6056k 41 224M 41 92.1M 0 0 5711k 0 0:00:40 0:00:16 0:00:24 5808k 42 224M 42 95.4M 0 0 5577k 0 0:00:41 0:00:17 0:00:24 5084k 44 224M 44 99.3M 0 0 5493k 0 0:00:41 0:00:18 0:00:23 4739k 46 224M 46 104M 0 0 5462k 0 0:00:42 0:00:19 0:00:23 4507k 48 224M 48 108M 0 0 5404k 0 0:00:42 0:00:20 0:00:22 4284k 50 224M 50 112M 0 0 5375k 0 0:00:42 0:00:21 0:00:21 4264k 52 224M 52 117M 0 0 5341k 0 0:00:43 0:00:22 0:00:21 4513k 54 224M 54 122M 0 0 5333k 0 0:00:43 0:00:23 0:00:20 4739k 57 224M 57 128M 0 0 5357k 0 0:00:42 0:00:24 0:00:18 4952k 59 224M 59 132M 0 0 5330k 0 0:00:43 0:00:25 0:00:18 5028k 61 224M 61 137M 0 0 5292k 0 0:00:43 0:00:26 0:00:17 4937k 62 224M 62 141M 0 0 5252k 0 0:00:43 0:00:27 0:00:16 4852k 64 224M 64 144M 0 0 5176k 0 0:00:44 0:00:28 0:00:16 4438k 65 224M 65 147M 0 0 5115k 0 0:00:44 0:00:29 0:00:15 3910k 67 224M 67 151M 0 0 5088k 0 0:00:45 0:00:30 0:00:15 3851k 69 224M 69 157M 0 0 5101k 0 0:00:45 0:00:31 0:00:14 4089k 72 224M 72 163M 0 0 5142k 0 0:00:44 0:00:32 0:00:12 4534k 75 224M 75 168M 0 0 5157k 0 0:00:44 0:00:33 0:00:11 5046k 77 224M 77 173M 0 0 5141k 0 0:00:44 0:00:34 0:00:10 5294k 79 224M 79 177M 0 0 5127k 0 0:00:44 0:00:35 0:00:09 5368k 81 224M 81 183M 0 0 5131k 0 0:00:44 0:00:36 0:00:08 5318k 84 224M 84 188M 0 0 5151k 0 0:00:44 0:00:37 0:00:07 5212k 87 224M 87 195M 0 0 5192k 0 0:00:44 0:00:38 0:00:06 5423k 89 224M 89 201M 0 0 5224k 0 0:00:43 0:00:39 0:00:04 5797k 92 224M 92 207M 0 0 5246k 0 0:00:43 0:00:40 0:00:03 6092k 94 224M 94 212M 0 0 5234k 0 0:00:43 0:00:41 0:00:02 5987k 95 224M 95 215M 0 0 5182k 0 0:00:44 0:00:42 0:00:02 5419k 97 224M 97 218M 0 0 5139k 0 0:00:44 0:00:43 0:00:01 4737k 98 224M 98 221M 0 0 5087k 0 0:00:45 0:00:44 0:00:01 4011k 99 224M 99 223M 0 0 5028k 0 0:00:45 0:00:45 --:--:-- 3255k 100 224M 100 224M 0 0 4993k 0 0:00:46 0:00:46 --:--:-- 2769k +info: extracting +RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g +nu.tar.xz for package gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 224M 0 1436k 0 0 2742k 0 0:01:23 --:--:-- 0:01:23 $'2740k\r' 2 224M 2 6859k 0 0 4502k 0 0:00:51 0:00:01 0:00:50 $'4501k\r' 5 224M 5 11.6M 0 0 4725k 0 0:00:48 0:00:02 0:00:46 $'4725k\r' 7 224M 7 17.1M 0 0 4969k 0 0:00:46 0:00:03 0:00:43 $'4969k\r' 9 224M 9 22.0M 0 0 4995k 0 0:00:45 0:00:04 0:00:41 $'4995k\r' 12 224M 12 27.5M 0 0 5113k 0 0:00:44 0:00:05 0:00:39 $'5362k\r' 14 224M 14 33.5M 0 0 5268k 0 0:00:43 0:00:06 0:00:37 $'5501k\r' 17 224M 17 40.1M 0 0 5463k 0 0:00:42 0:00:07 0:00:35 $'5834k\r' 20 224M 20 46.0M 0 0 5529k 0 0:00:41 0:00:08 0:00:33 $'5924k\r' 23 224M 23 52.0M 0 0 5592k 0 0:00:41 0:00:09 0:00:32 $'6132k\r' 25 224M 25 57.8M 0 0 5626k 0 0:00:40 0:00:10 0:00:30 $'6193k\r' 28 224M 28 63.7M 0 0 5669k 0 0:00:40 0:00:11 0:00:29 $'6191k\r' 31 224M 31 70.6M 0 0 5774k 0 0:00:39 0:00:12 0:00:27 $'6243k\r' 33 224M 33 76.2M 0 0 5773k 0 0:00:39 0:00:13 0:00:26 $'6188k\r' 36 224M 36 82.1M 0 0 5790k 0 0:00:39 0:00:14 0:00:25 $'6167k\r' 38 224M 38 87.4M 0 0 5765k 0 0:00:39 0:00:15 0:00:24 $'6056k\r' 41 224M 41 92.1M 0 0 5711k 0 0:00:40 0:00:16 0:00:24 $'5808k\r' 42 224M 42 95.4M 0 0 5577k 0 0:00:41 0:00:17 0:00:24 $'5084k\r' 44 224M 44 99.3M 0 0 5493k 0 0:00:41 0:00:18 0:00:23 $'4739k\r' 46 224M 46 104M 0 0 5462k 0 0:00:42 0:00:19 0:00:23 $'4507k\r' 48 224M 48 108M 0 0 5404k 0 0:00:42 0:00:20 0:00:22 $'4284k\r' 50 224M 50 112M 0 0 5375k 0 0:00:42 0:00:21 0:00:21 $'4264k\r' 52 224M 52 117M 0 0 5341k 0 0:00:43 0:00:22 0:00:21 $'4513k\r' 54 224M 54 122M 0 0 5333k 0 0:00:43 0:00:23 0:00:20 $'4739k\r' 57 224M 57 128M 0 0 5357k 0 0:00:42 0:00:24 0:00:18 $'4952k\r' 59 224M 59 132M 0 0 5330k 0 0:00:43 0:00:25 0:00:18 $'5028k\r' 61 224M 61 137M 0 0 5292k 0 0:00:43 0:00:26 0:00:17 $'4937k\r' 62 224M 62 141M 0 0 5252k 0 0:00:43 0:00:27 0:00:16 $'4852k\r' 64 224M 64 144M 0 0 5176k 0 0:00:44 0:00:28 0:00:16 $'4438k\r' 65 224M 65 147M 0 0 5115k 0 0:00:44 0:00:29 0:00:15 $'3910k\r' 67 224M 67 151M 0 0 5088k 0 0:00:45 0:00:30 0:00:15 $'3851k\r' 69 224M 69 157M 0 0 5101k 0 0:00:45 0:00:31 0:00:14 $'4089k\r' 72 224M 72 163M 0 0 5142k 0 0:00:44 0:00:32 0:00:12 $'4534k\r' 75 224M 75 168M 0 0 5157k 0 0:00:44 0:00:33 0:00:11 $'5046k\r' 77 224M 77 173M 0 0 5141k 0 0:00:44 0:00:34 0:00:10 $'5294k\r' 79 224M 79 177M 0 0 5127k 0 0:00:44 0:00:35 0:00:09 $'5368k\r' 81 224M 81 183M 0 0 5131k 0 0:00:44 0:00:36 0:00:08 $'5318k\r' 84 224M 84 188M 0 0 5151k 0 0:00:44 0:00:37 0:00:07 $'5212k\r' 87 224M 87 195M 0 0 5192k 0 0:00:44 0:00:38 0:00:06 $'5423k\r' 89 224M 89 201M 0 0 5224k 0 0:00:43 0:00:39 0:00:04 $'5797k\r' 92 224M 92 207M 0 0 5246k 0 0:00:43 0:00:40 0:00:03 $'6092k\r' 94 224M 94 212M 0 0 5234k 0 0:00:43 0:00:41 0:00:02 $'5987k\r' 95 224M 95 215M 0 0 5182k 0 0:00:44 0:00:42 0:00:02 $'5419k\r' 97 224M 97 218M 0 0 5139k 0 0:00:44 0:00:43 0:00:01 $'4737k\r' 98 224M 98 221M 0 0 5087k 0 0:00:45 0:00:44 0:00:01 $'4011k\r' 99 224M 99 223M 0 0 5028k 0 0:00:45 0:00:45 --:--:-- $'3255k\r100' 224M 100 224M 0 0 4993k 0 0:00:46 0:00:46 --:--:-- 2769k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 224M 0 1436k 0 0 2742k 0 0:01:23 --:--:-- 0:01:23 $'2740k\r' 2 224M 2 6859k 0 0 4502k 0 0:00:51 0:00:01 0:00:50 $'4501k\r' 5 224M 5 11.6M 0 0 4725k 0 0:00:48 0:00:02 0:00:46 $'4725k\r' 7 224M 7 17.1M 0 0 4969k 0 0:00:46 0:00:03 0:00:43 $'4969k\r' 9 224M 9 22.0M 0 0 4995k 0 0:00:45 0:00:04 0:00:41 $'4995k\r' 12 224M 12 27.5M 0 0 5113k 0 0:00:44 0:00:05 0:00:39 $'5362k\r' 14 224M 14 33.5M 0 0 5268k 0 0:00:43 0:00:06 0:00:37 $'5501k\r' 17 224M 17 40.1M 0 0 5463k 0 0:00:42 0:00:07 0:00:35 $'5834k\r' 20 224M 20 46.0M 0 0 5529k 0 0:00:41 0:00:08 0:00:33 $'5924k\r' 23 224M 23 52.0M 0 0 5592k 0 0:00:41 0:00:09 0:00:32 $'6132k\r' 25 224M 25 57.8M 0 0 5626k 0 0:00:40 0:00:10 0:00:30 $'6193k\r' 28 224M 28 63.7M 0 0 5669k 0 0:00:40 0:00:11 0:00:29 $'6191k\r' 31 224M 31 70.6M 0 0 5774k 0 0:00:39 0:00:12 0:00:27 $'6243k\r' 33 224M 33 76.2M 0 0 5773k 0 0:00:39 0:00:13 0:00:26 $'6188k\r' 36 224M 36 82.1M 0 0 5790k 0 0:00:39 0:00:14 0:00:25 $'6167k\r' 38 224M 38 87.4M 0 0 5765k 0 0:00:39 0:00:15 0:00:24 $'6056k\r' 41 224M 41 92.1M 0 0 5711k 0 0:00:40 0:00:16 0:00:24 $'5808k\r' 42 224M 42 95.4M 0 0 5577k 0 0:00:41 0:00:17 0:00:24 $'5084k\r' 44 224M 44 99.3M 0 0 5493k 0 0:00:41 0:00:18 0:00:23 $'4739k\r' 46 224M 46 104M 0 0 5462k 0 0:00:42 0:00:19 0:00:23 $'4507k\r' 48 224M 48 108M 0 0 5404k 0 0:00:42 0:00:20 0:00:22 $'4284k\r' 50 224M 50 112M 0 0 5375k 0 0:00:42 0:00:21 0:00:21 $'4264k\r' 52 224M 52 117M 0 0 5341k 0 0:00:43 0:00:22 0:00:21 $'4513k\r' 54 224M 54 122M 0 0 5333k 0 0:00:43 0:00:23 0:00:20 $'4739k\r' 57 224M 57 128M 0 0 5357k 0 0:00:42 0:00:24 0:00:18 $'4952k\r' 59 224M 59 132M 0 0 5330k 0 0:00:43 0:00:25 0:00:18 $'5028k\r' 61 224M 61 137M 0 0 5292k 0 0:00:43 0:00:26 0:00:17 $'4937k\r' 62 224M 62 141M 0 0 5252k 0 0:00:43 0:00:27 0:00:16 $'4852k\r' 64 224M 64 144M 0 0 5176k 0 0:00:44 0:00:28 0:00:16 $'4438k\r' 65 224M 65 147M 0 0 5115k 0 0:00:44 0:00:29 0:00:15 $'3910k\r' 67 224M 67 151M 0 0 5088k 0 0:00:45 0:00:30 0:00:15 $'3851k\r' 69 224M 69 157M 0 0 5101k 0 0:00:45 0:00:31 0:00:14 $'4089k\r' 72 224M 72 163M 0 0 5142k 0 0:00:44 0:00:32 0:00:12 $'4534k\r' 75 224M 75 168M 0 0 5157k 0 0:00:44 0:00:33 0:00:11 $'5046k\r' 77 224M 77 173M 0 0 5141k 0 0:00:44 0:00:34 0:00:10 $'5294k\r' 79 224M 79 177M 0 0 5127k 0 0:00:44 0:00:35 0:00:09 $'5368k\r' 81 224M 81 183M 0 0 5131k 0 0:00:44 0:00:36 0:00:08 $'5318k\r' 84 224M 84 188M 0 0 5151k 0 0:00:44 0:00:37 0:00:07 $'5212k\r' 87 224M 87 195M 0 0 5192k 0 0:00:44 0:00:38 0:00:06 $'5423k\r' 89 224M 89 201M 0 0 5224k 0 0:00:43 0:00:39 0:00:04 $'5797k\r' 92 224M 92 207M 0 0 5246k 0 0:00:43 0:00:40 0:00:03 $'6092k\r' 94 224M 94 212M 0 0 5234k 0 0:00:43 0:00:41 0:00:02 $'5987k\r' 95 224M 95 215M 0 0 5182k 0 0:00:44 0:00:42 0:00:02 $'5419k\r' 97 224M 97 218M 0 0 5139k 0 0:00:44 0:00:43 0:00:01 $'4737k\r' 98 224M 98 221M 0 0 5087k 0 0:00:45 0:00:44 0:00:01 $'4011k\r' 99 224M 99 223M 0 0 5028k 0 0:00:45 0:00:45 --:--:-- $'3255k\r100' 224M 100 224M 0 0 4993k 0 0:00:46 0:00:46 --:--:-- 2769k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=391434e33f87e32c04a833f394a7dbd3f14b3a78, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x0000003fce2d6000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fce20b000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fce0b0000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fce2d8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=28a2c4a90363f219abb83defddd63445538a834a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x0000003fc083b000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc076b000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc0610000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc083d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep 'not found' ++ grep .so ++ grep -vE '\(0x' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f41def98c13042b5220dad5162dd2eb3a811495f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x0000003fe0989000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fe083b000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe06e0000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe098b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x0000003fc5b77000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc5a14000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc5b79000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=da3be3303d0f9d7d4c4948c9bd15e68b8aa83eec, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003ff1de3000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003ff1d11000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff1bb6000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff1de5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep .so ++ grep 'not found' ++ grep -vE '\(0x' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fcaca58ee7a1a2f07553792b7e3b57bdf68f25c0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x0000003fdb49e000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fdb33b000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fdb4a0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep 'not found' ++ grep .so ++ grep -vE '\(0x' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=13778aa42f3926d92929c41875a156b2637e0842, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003fd7d03000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fd7b98000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd7d05000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x0000003fd4672000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fd450f000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd4674000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x0000003ff3cbd000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff3b5a000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff3cbf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x0000003fdeef4000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fded91000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fdeef6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a7869523b7b5bd15977ae296d89a01b9337b18e0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003fef666000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fef503000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fef668000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fec6ba7e67e2b796cae6d18583d7103b5e4133c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003ff3158000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff2ff5000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff315a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=1c82bbc49fab6681629a1431aeec1d04855c1c32, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003fc0d26000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc0bc3000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc0d28000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=050cdeeca3270025456bab5f997e0154c509e55c, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fe78b6000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe7753000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe78b8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=ebcbdf88347e6618560497de6c5a942c1dac963f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003fea1a4000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fea041000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fea1a6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4fe76729a51d1ad5073097f0395d56e932e40a9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003fc1029000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc0ec6000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc102b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=39d430c7c91236a80aeb0ff8d30ec49323919843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x0000003fc975b000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc8eb6000) + libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0000003fc8c91000) + libm.so.6 => /usr/lib/libm.so.6 (0x0000003fc8c0f000) + libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x0000003fc8bf4000) + libpthread.so.0 => /usr/lib/libpthread.so.0 (0x0000003fc8bf1000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc8a96000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc975d000) + libatomic.so.1 => /usr/lib/libatomic.so.1 (0x0000003fc8a8c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8df03d0ff29ad796d26bec7b5be6bbe057b8eed5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003fe4077000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe3f14000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe4079000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3dacd56f955811af35ee820e706bd4491c1ccedd, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x0000003ff7ec8000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003ff7dee000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff7c93000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff7eca000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x0000003fbdac6000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fbd809000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fbd6ae000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbdac8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003fc2517000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc225a000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc20ff000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc2519000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=de67ace22e5e47dd1fa24f77a4ce762996e536d5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003fea94f000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fea944000) + libm.so.6 => /usr/lib/libm.so.6 (0x0000003fea8c2000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fea767000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fea951000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7b35f1643c3a8b49d13754b0bee237506d2945aa, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x0000003fc9c32000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc9b64000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc9a09000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc9c34000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=05cf9dc88c199de15f4f7443b0d8f8b75ce6f742, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003fec779000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fec695000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fec53a000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fec77b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d67dba7ef971b967f32d1dab248cacfd3305e0e8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x0000003fbe798000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fbe61b000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fbe4c0000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbe79a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8eddc0bb144eb9a0441696bcfeb2a264efa3ea6d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003ff75cf000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003ff74ff000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003ff73a4000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff75d1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a1bc95c06a4a904e4dff4887941078f71194df83, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x0000003fba6b2000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fba47a000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fba6b4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5b08a6a2463fedb3c900720761d30059db644989, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x0000003fe828a000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fe81bf000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fe8064000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe828c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7543658774ce7d14c706fda90f27ce8c165d642a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x0000003fbdd6e000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fbdca2000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fbdb47000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbdd70000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=136a562434f432d72472cb146736f6423df33d99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x0000003fc98d4000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x0000003fc97f0000) + libc.so.6 => /usr/lib/libc.so.6 (0x0000003fc9695000) + /lib/ld-linux-riscv64-lp64d.so.1 => /usr/lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc98d6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ awk '{print $NF}' +++ tail -n 1 ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-system-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-system-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-system-riscv-upstream no binary for current host' +Tue Apr 9 00:38:13 2024 - WARN - Check emulator/qemu-system-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-user-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-upstream no binary for current host' +Tue Apr 9 00:38:17 2024 - WARN - Check emulator/qemu-user-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +declares no binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 +++ awk '{print $NF}' +++ tail -n 1 ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-xthead no binary for current host' ++ message='Check emulator/qemu-user-riscv-xthead no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-xthead no binary for current host' +Tue Apr 9 00:38:22 2024 - WARN - Check emulator/qemu-user-riscv-xthead no binary for current host ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Tue Apr 9 00:38:22 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Tue Apr 9 00:38:22 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Tue Apr 9 00:38:22 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpkl_rrz3v ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpkl_rrz3v +Tue Apr 9 00:38:23 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpkl_rrz3v +Tue Apr 9 00:38:23 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpkl_rrz3v ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Tue Apr 9 00:38:36 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-09-00_04_59.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-09-00_04_59.log new file mode 100644 index 00000000..db3370d3 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-09-00_04_59.log @@ -0,0 +1,603 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Tue Apr 9 00:04:59 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:05:00 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:05:00 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp00p6q0h4 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp00p6q0h4 ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 33 20.8M 33 7226k 0 0 7206k 0 0:00:02 0:00:01 0:00:01 7204k 86 20.8M 86 18.1M 0 0 9164k 0 0:00:02 0:00:02 --:--:-- 9164k 100 20.8M 100 20.8M 0 0 9315k 0 0:00:02 0:00:02 --:--:-- 9316k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmp00p6q0h4 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmp00p6q0h4 +Tue Apr 9 00:05:12 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmp00p6q0h4 ']' ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmp00p6q0h4 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmp00p6q0h4 +Tue Apr 9 00:05:13 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp00p6q0h4 ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmp00p6q0h4 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmp00p6q0h4 ++ tmpfile2=/tmp/tmp00p6q0h4 ++ '[' -z /tmp/tmp00p6q0h4 ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Tue Apr 9 00:05:27 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Tue Apr 9 00:05:28 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: +4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting +objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% +(128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% +(163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 294M 0 2009k 0 0 3134k 0 0:01:36 --:--:-- 0:01:36 3134k 2 294M 2 8201k 0 0 4998k 0 0:01:00 0:00:01 0:00:59 4997k 5 294M 5 14.8M 0 0 5769k 0 0:00:52 0:00:02 0:00:50 5768k 7 294M 7 22.0M 0 0 6201k 0 0:00:48 0:00:03 0:00:45 6201k 10 294M 10 29.5M 0 0 6520k 0 0:00:46 0:00:04 0:00:42 6519k 12 294M 12 37.4M 0 0 6803k 0 0:00:44 0:00:05 0:00:39 7273k 15 294M 15 45.9M 0 0 7082k 0 0:00:42 0:00:06 0:00:36 7766k 18 294M 18 54.9M 0 0 7365k 0 0:00:40 0:00:07 0:00:33 8209k 21 294M 21 64.7M 0 0 7654k 0 0:00:39 0:00:08 0:00:31 8709k 24 294M 24 72.5M 0 0 7701k 0 0:00:39 0:00:09 0:00:30 8796k 27 294M 27 81.1M 0 0 7804k 0 0:00:38 0:00:10 0:00:28 8934k 30 294M 30 90.5M 0 0 7961k 0 0:00:37 0:00:11 0:00:26 9129k 34 294M 34 100M 0 0 8129k 0 0:00:37 0:00:12 0:00:25 9297k 37 294M 37 110M 0 0 8281k 0 0:00:36 0:00:13 0:00:23 9370k 40 294M 40 120M 0 0 8414k 0 0:00:35 0:00:14 0:00:21 9788k 43 294M 43 127M 0 0 8356k 0 0:00:36 0:00:15 0:00:21 9527k 45 294M 45 134M 0 0 8256k 0 0:00:36 0:00:16 0:00:20 8942k 47 294M 47 140M 0 0 8173k 0 0:00:36 0:00:17 0:00:19 8283k 50 294M 50 147M 0 0 8099k 0 0:00:37 0:00:18 0:00:19 7603k 52 294M 52 154M 0 0 8057k 0 0:00:37 0:00:19 0:00:18 7011k 54 294M 54 160M 0 0 7954k 0 0:00:37 0:00:20 0:00:17 6688k 55 294M 55 164M 0 0 7787k 0 0:00:38 0:00:21 0:00:17 6227k 57 294M 57 168M 0 0 7612k 0 0:00:39 0:00:22 0:00:17 5632k 58 294M 58 172M 0 0 7476k 0 0:00:40 0:00:23 0:00:17 5152k 60 294M 60 177M 0 0 7359k 0 0:00:41 0:00:24 0:00:17 4620k 61 294M 61 182M 0 0 7284k 0 0:00:41 0:00:25 0:00:16 4521k 63 294M 63 187M 0 0 7195k 0 0:00:41 0:00:26 0:00:15 4634k 65 294M 65 192M 0 0 7124k 0 0:00:42 0:00:27 0:00:15 4918k 67 294M 67 197M 0 0 7076k 0 0:00:42 0:00:28 0:00:14 5190k 69 294M 69 203M 0 0 7038k 0 0:00:42 0:00:29 0:00:13 5458k 70 294M 70 208M 0 0 6981k 0 0:00:43 0:00:30 0:00:13 5427k 72 294M 72 214M 0 0 6936k 0 0:00:43 0:00:31 0:00:12 5554k 74 294M 74 220M 0 0 6904k 0 0:00:43 0:00:32 0:00:11 5688k 76 294M 76 224M 0 0 6840k 0 0:00:44 0:00:33 0:00:11 5484k 77 294M 77 229M 0 0 6783k 0 0:00:44 0:00:34 0:00:10 5269k 79 294M 79 233M 0 0 6720k 0 0:00:44 0:00:35 0:00:09 5116k 80 294M 80 238M 0 0 6673k 0 0:00:45 0:00:36 0:00:09 5008k 82 294M 82 243M 0 0 6637k 0 0:00:45 0:00:37 0:00:08 4891k 84 294M 84 249M 0 0 6602k 0 0:00:45 0:00:38 0:00:07 5000k 85 294M 85 252M 0 0 6525k 0 0:00:46 0:00:39 0:00:07 4737k 86 294M 86 256M 0 0 6462k 0 0:00:46 0:00:40 0:00:06 4627k 88 294M 88 260M 0 0 6415k 0 0:00:47 0:00:41 0:00:06 4524k 90 294M 90 265M 0 0 6377k 0 0:00:47 0:00:42 0:00:05 4421k 91 294M 91 269M 0 0 6327k 0 0:00:47 0:00:43 0:00:04 4208k 93 294M 93 274M 0 0 6292k 0 0:00:47 0:00:44 0:00:03 4450k 94 294M 94 277M 0 0 6233k 0 0:00:48 0:00:45 0:00:03 4374k 95 294M 95 282M 0 0 6177k 0 0:00:48 0:00:46 0:00:02 4247k 97 294M 97 287M 0 0 6169k 0 0:00:48 0:00:47 0:00:01 4396k 99 294M 99 292M 0 0 6155k 0 0:00:49 0:00:48 0:00:01 4655k 100 294M 100 294M 0 0 6150k 0 0:00:49 0:00:49 --:--:-- 4721k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 231M 0 200k 0 0 718k 0 0:05:29 --:--:-- 0:05:29 718k 1 231M 1 3608k 0 0 2821k 0 0:01:23 0:00:01 0:01:22 2821k 2 231M 2 6360k 0 0 2791k 0 0:01:24 0:00:02 0:01:22 2790k 4 231M 4 9.8M 0 0 3062k 0 0:01:17 0:00:03 0:01:14 3062k 5 231M 5 13.6M 0 0 3266k 0 0:01:12 0:00:04 0:01:08 3266k 7 231M 7 17.4M 0 0 3389k 0 0:01:09 0:00:05 0:01:04 3538k 9 231M 9 22.0M 0 0 3601k 0 0:01:05 0:00:06 0:00:59 3801k 11 231M 11 27.3M 0 0 3851k 0 0:01:01 0:00:07 0:00:54 4335k 13 231M 13 32.0M 0 0 3966k 0 0:00:59 0:00:08 0:00:51 4559k 16 231M 16 37.3M 0 0 4127k 0 0:00:57 0:00:09 0:00:48 4864k 18 231M 18 43.2M 0 0 4307k 0 0:00:54 0:00:10 0:00:44 5277k 21 231M 21 49.7M 0 0 4511k 0 0:00:52 0:00:11 0:00:41 5650k 24 231M 24 56.2M 0 0 4694k 0 0:00:50 0:00:12 0:00:38 5921k 27 231M 27 62.8M 0 0 4846k 0 0:00:48 0:00:13 0:00:35 6304k 29 231M 29 69.1M 0 0 4961k 0 0:00:47 0:00:14 0:00:33 6508k 32 231M 32 75.0M 0 0 5032k 0 0:00:47 0:00:15 0:00:32 6523k 35 231M 35 81.0M 0 0 5098k 0 0:00:46 0:00:16 0:00:30 6429k 37 231M 37 87.3M 0 0 5176k 0 0:00:45 0:00:17 0:00:28 6361k 40 231M 40 93.2M 0 0 5225k 0 0:00:45 0:00:18 0:00:27 6229k 42 231M 42 99.4M 0 0 5283k 0 0:00:44 0:00:19 0:00:25 6204k 45 231M 45 105M 0 0 5340k 0 0:00:44 0:00:20 0:00:24 6284k 48 231M 48 112M 0 0 5421k 0 0:00:43 0:00:21 0:00:22 6473k 51 231M 51 119M 0 0 5470k 0 0:00:43 0:00:22 0:00:21 6485k 54 231M 54 125M 0 0 5508k 0 0:00:43 0:00:23 0:00:20 6544k 57 231M 57 132M 0 0 5572k 0 0:00:42 0:00:24 0:00:18 6684k 59 231M 59 138M 0 0 5604k 0 0:00:42 0:00:25 0:00:17 6674k 62 231M 62 144M 0 0 5641k 0 0:00:41 0:00:26 0:00:15 6579k 65 231M 65 151M 0 0 5681k 0 0:00:41 0:00:27 0:00:14 6618k 67 231M 67 157M 0 0 5692k 0 0:00:41 0:00:28 0:00:13 6551k 70 231M 70 163M 0 0 5726k 0 0:00:41 0:00:29 0:00:12 6476k 73 231M 73 169M 0 0 5733k 0 0:00:41 0:00:30 0:00:11 6384k 74 231M 74 173M 0 0 5679k 0 0:00:41 0:00:31 0:00:10 5875k 77 231M 77 178M 0 0 5659k 0 0:00:41 0:00:32 0:00:09 5539k 79 231M 79 183M 0 0 5660k 0 0:00:41 0:00:33 0:00:08 5475k 82 231M 82 190M 0 0 5682k 0 0:00:41 0:00:34 0:00:07 5423k 84 231M 84 196M 0 0 5697k 0 0:00:41 0:00:35 0:00:06 5478k 87 231M 87 201M 0 0 5686k 0 0:00:41 0:00:36 0:00:05 5734k 89 231M 89 206M 0 0 5668k 0 0:00:41 0:00:37 0:00:04 5724k 91 231M 91 211M 0 0 5658k 0 0:00:41 0:00:38 0:00:03 5644k 93 231M 93 216M 0 0 5638k 0 0:00:42 0:00:39 0:00:03 5334k 95 231M 95 220M 0 0 5612k 0 0:00:42 0:00:40 0:00:02 5018k 97 231M 97 225M 0 0 5588k 0 0:00:42 0:00:41 0:00:01 4878k 99 231M 99 230M 0 0 5572k 0 0:00:42 0:00:42 --:--:-- 4864k 100 231M 100 231M 0 0 5553k 0 0:00:42 0:00:42 --:--:-- 4641k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 391k 7 30846 0 0 140k 0 0:00:02 --:--:-- 0:00:02 140k 100 391k 100 391k 0 0 771k 0 --:--:-- --:--:-- --:--:-- 771k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=9c635b0506f42e64cf04372c637dc42e18d599e8, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.29.0 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done (212.2s) +-- Generating done (0.1s) +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[2/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[3/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[6/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[22/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[25/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[28/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[33/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[35/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[40/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[41/93] Linking C shared library libz.so.1.3.0.zlib-ng +[42/93] Creating library symlink libz.so.1 libz.so +[43/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[74/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[75/93] Building C object test/CMakeFiles/example.dir/example.c.o +[76/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[77/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[78/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[79/93] Linking C executable minideflate +[80/93] Linking C executable example +[81/93] Linking C executable switchlevels +[82/93] Linking C static library libz.a +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Linking C executable infcover +[85/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[86/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[87/93] Linking C executable minigzip +[88/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[89/93] Linking C executable makefixed +[90/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[91/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[92/93] Linking C executable makecrct +[93/93] Linking C executable maketrees ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Tue Apr 9 00:17:32 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Tue Apr 9 00:17:33 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Tue Apr 9 00:17:33 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp00p6q0h4 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp00p6q0h4 +Tue Apr 9 00:17:34 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp00p6q0h4 +Tue Apr 9 00:17:35 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp00p6q0h4 ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp00p6q0h4 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp00p6q0h4 +Tue Apr 9 00:17:44 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp00p6q0h4 +Tue Apr 9 00:17:45 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp00p6q0h4 ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Tue Apr 9 00:17:46 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_common/2024-04-09-00_00_22.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_common/2024-04-09-00_00_22.log new file mode 100644 index 00000000..76544478 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_common/2024-04-09-00_00_22.log @@ -0,0 +1,930 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Tue Apr 9 00:00:22 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:00:23 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:00:24 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpn7r98k3n ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpn7r98k3n ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 5 20.8M 5 1163k 0 0 1029k 0 0:00:20 0:00:01 0:00:19 1029k 13 20.8M 13 2907k 0 0 1361k 0 0:00:15 0:00:02 0:00:13 1361k 21 20.8M 21 4571k 0 0 1460k 0 0:00:14 0:00:03 0:00:11 1460k 29 20.8M 29 6395k 0 0 1545k 0 0:00:13 0:00:04 0:00:09 1545k 39 20.8M 39 8539k 0 0 1662k 0 0:00:12 0:00:05 0:00:07 1712k 49 20.8M 49 10.4M 0 0 1739k 0 0:00:12 0:00:06 0:00:06 1900k 62 20.8M 62 13.0M 0 0 1870k 0 0:00:11 0:00:07 0:00:04 2088k 73 20.8M 73 15.3M 0 0 1930k 0 0:00:11 0:00:08 0:00:03 2223k 87 20.8M 87 18.2M 0 0 2044k 0 0:00:10 0:00:09 0:00:01 2458k 98 20.8M 98 20.6M 0 0 2087k 0 0:00:10 0:00:10 --:--:-- 2524k 100 20.8M 100 20.8M 0 0 2089k 0 0:00:10 0:00:10 --:--:-- 2611k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Tue Apr 9 00:00:42 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Tue Apr 9 00:00:42 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% +(215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% +(244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% +(274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting +objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting +objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting +objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing +objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% +(88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: +32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% +(181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% +(194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-xthead +gnu-plct +llvm-upstream +gnu-plct-rv64ilp32-elf +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -v 'no binary for current host' +++ grep -e '^ -' ++ s=' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' '!' -z ' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ']' ++ pkgname=gnu-plct-xthead ++ break ++ '[' -z gnu-plct-xthead ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8. +0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz': all source URLs +have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-xthead ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8. +0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz': all source URLs +have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-xthead ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-xthead ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-xthead-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct-xthead ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-xthead-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ cut -d/ -f 2 +++ head -n 1 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17 +125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 671 100 671 0 0 3572 0 --:--:-- --:--:-- --:--:-- 3588 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpn7r98k3n ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpn7r98k3n +Tue Apr 9 00:04:37 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmpn7r98k3n ']' ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpn7r98k3n ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpn7r98k3n +Tue Apr 9 00:04:38 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpn7r98k3n ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpn7r98k3n ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpn7r98k3n +Tue Apr 9 00:04:43 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z /tmp/tmpn7r98k3n ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 10 20.8M 10 2170k 0 0 3345k 0 0:00:06 --:--:-- 0:00:06 3343k 59 20.8M 59 12.3M 0 0 7663k 0 0:00:02 0:00:01 0:00:01 7661k 100 20.8M 100 20.8M 0 0 8512k 0 0:00:02 0:00:02 --:--:-- 8514k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Tue Apr 9 00:04:55 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Tue Apr 9 00:04:55 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Tue Apr 9 00:04:55 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpn7r98k3n ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpn7r98k3n +Tue Apr 9 00:04:56 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpn7r98k3n +Tue Apr 9 00:04:56 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpn7r98k3n ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Tue Apr 9 00:04:58 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_config/2024-04-08-23_38_57.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_config/2024-04-08-23_38_57.log new file mode 100644 index 00000000..7b4e15a5 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_config/2024-04-08-23_38_57.log @@ -0,0 +1,250 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:38:57 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:38:58 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:38:58 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpzkxqry8e ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpzkxqry8e ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 8 20.8M 8 1860k 0 0 3485k 0 0:00:06 --:--:-- 0:00:06 3483k 48 20.8M 48 10.1M 0 0 6764k 0 0:00:03 0:00:01 0:00:02 6761k 94 20.8M 94 19.6M 0 0 7929k 0 0:00:02 0:00:02 --:--:-- 7929k 100 20.8M 100 20.8M 0 0 8021k 0 0:00:02 0:00:02 --:--:-- 8022k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:39:09 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:39:10 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting +objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: No address associated with hostname ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Mon Apr 8 23:39:35 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Mon Apr 8 23:39:35 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Mon Apr 8 23:39:35 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpzkxqry8e ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpzkxqry8e +Mon Apr 8 23:39:36 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpzkxqry8e +Mon Apr 8 23:39:36 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpzkxqry8e ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Mon Apr 8 23:39:38 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_device/2024-04-09-00_17_46.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_device/2024-04-09-00_17_46.log new file mode 100644 index 00000000..9e31d567 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_device/2024-04-09-00_17_46.log @@ -0,0 +1,2787 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Tue Apr 9 00:17:47 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:17:48 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:17:48 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpjkh0zn18 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpjkh0zn18 ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 18 20.8M 18 3849k 0 0 4723k 0 0:00:04 --:--:-- 0:00:04 4723k 67 20.8M 67 14.1M 0 0 7991k 0 0:00:02 0:00:01 0:00:01 7992k 100 20.8M 100 20.8M 0 0 8838k 0 0:00:02 0:00:02 --:--:-- 8842k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Tue Apr 9 00:17:59 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Tue Apr 9 00:17:59 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: +4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: +8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: +12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting +objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting +objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% +(200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% +(229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% +(259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% +(288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: +43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: +47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting +objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting +objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% +(429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% +(458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% +(488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% +(517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% +(547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: +78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting +objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting +objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% +(657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% +(687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% +(716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% +(738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing +objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% +(88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: +32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% +(163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ tee ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 307105 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 72400 3738k 6922k 10.7M 14.5M 17.8M 21.0M 23.6M 26.3M 29.4M 32.3M 35.5M 39.5M 43.5M 47.0M 49.8M 52.2M 54.9M 57.9M 60.6M 64.2M 68.2M 71.6M 75.0M 78.2M 81.9M 85.5M 89.7M 94.1M 97.8M 102M 108M 115M 122M 130M 139M 149M 157M 165M 172M 177M 182M 187M 191M 196M 202M 207M 212M 216M 220M 225M 230M 233M 237M 241M 246M ' +++ echo Received Spent 0 72400 3738k 6922k 10.7M 14.5M 17.8M 21.0M 23.6M 26.3M 29.4M 32.3M 35.5M 39.5M 43.5M 47.0M 49.8M 52.2M 54.9M 57.9M 60.6M 64.2M 68.2M 71.6M 75.0M 78.2M 81.9M 85.5M 89.7M 94.1M 97.8M 102M 108M 115M 122M 130M 139M 149M 157M 165M 172M 177M 182M 187M 191M 196M 202M 207M 212M 216M 220M 225M 230M 233M 237M 241M 246M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 72400 =~ [0-9]+ ]] ++ [[ 72400 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ ruyi device provision +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 307103 Done nohup echo -e "$now_exec" + 307104 Exit 120 | ruyi device provision 2>&1 + 307105 Killed | tee > /tmp/ruyi_device/output ++ kill -9 307217 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 602k 4938k 10.3M 15.8M 20.8M 25.1M 29.5M 33.2M 37.0M 40.9M 44.0M 47.1M 50.0M 52.8M 55.7M 59.0M 62.7M 66.9M 70.8M 75.2M 78.7M 82.0M 85.2M 88.5M 91.9M 94.9M 98.6M 102M 105M 109M 113M 117M 122M 127M 133M 139M 146M 153M 159M 167M 173M 178M 182M 186M 191M 196M 199M 203M 208M 213M 218M 223M 228M 233M 238M 243M ' +++ echo Received Spent 0 602k 4938k 10.3M 15.8M 20.8M 25.1M 29.5M 33.2M 37.0M 40.9M 44.0M 47.1M 50.0M 52.8M 55.7M 59.0M 62.7M 66.9M 70.8M 75.2M 78.7M 82.0M 85.2M 88.5M 91.9M 94.9M 98.6M 102M 105M 109M 113M 117M 122M 127M 133M 139M 146M 153M 159M 167M 173M 178M 182M 186M 191M 196M 199M 203M 208M 213M 218M 223M 228M 233M 238M 243M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 602k =~ [0-9]+ ]] ++ [[ 602k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ sed 's$/$_$g' +++ echo -E y112n ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ echo -e 'y\n2' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ kill -9 307364 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep '\[=' ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 6287k 16.0M 26.2M 36.6M 47.2M 57.7M 68.1M 78.5M 88.8M 99.2M 107M 117M 128M 138M 149M 159M 170M 180M 191M 201M 209M for ' +++ echo Received Spent 0 0 6287k 16.0M 26.2M 36.6M 47.2M 57.7M 68.1M 78.5M 88.8M 99.2M 107M 117M 128M 138M 149M 159M 170M 180M 191M 201M 209M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 6287k =~ [0-9]+ ]] ++ [[ 6287k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ awk '{print $2}' +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ nohup echo -e 'y\n2\n1\n2\ny' ++ tee +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 307362 Done nohup echo -e "$now_exec" + 307363 Exit 120 | ruyi device provision 2>&1 + 307364 Killed | tee > /tmp/ruyi_device/output ++ kill -9 307474 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 6319k 16.8M 26.6M 36.5M 46.4M 56.2M 66.2M 75.5M 85.8M 95.5M 105M 115M 125M 135M 145M 155M 165M 173M 183M 193M 194M for ' +++ echo Received Spent 0 0 6319k 16.8M 26.6M 36.5M 46.4M 56.2M 66.2M 75.5M 85.8M 95.5M 105M 115M 125M 135M 145M 155M 165M 173M 183M 193M 194M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 6319k =~ [0-9]+ ]] ++ [[ 6319k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n2\n1\n2\ny' ++ now_exec_f=y212y +++ sed 's$/$_$g' +++ echo -E y212y ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n2\n1\n2\nn' ++ now_exec_f=y212n +++ sed 's$/$_$g' +++ echo -E y212n ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 307472 Done nohup echo -e "$now_exec" + 307473 Exit 120 | ruyi device provision 2>&1 + 307474 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ ruyi device provision ++ kill -9 307625 +./common/device_lib.sh: line 49: kill: (307625) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 32768 399k 1824k 7328k 10.4M 15.7M 22.0M 27.6M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 32768 399k 1824k 7328k 10.4M 15.7M 22.0M 27.6M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 32768 =~ [0-9]+ ]] ++ [[ 32768 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 307215 Done nohup echo -e "$now_exec" + 307216 Exit 120 | ruyi device provision 2>&1 + 307217 Killed | tee > /tmp/ruyi_device/output ++ kill -9 307738 +./common/device_lib.sh: line 49: kill: (307738) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 98286 1887k 2719k 7983k 12.2M 15.7M 21.2M 27.2M 32.2M 38.4M 43.8M 49.5M 55.3M 59.0M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 98286 1887k 2719k 7983k 12.2M 15.7M 21.2M 27.2M 32.2M 38.4M 43.8M 49.5M 55.3M 59.0M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 98286 =~ [0-9]+ ]] ++ [[ 98286 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ ruyi device provision ++ echo -e 'y\n3\n1\n2\nn' ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ kill -9 307868 +./common/device_lib.sh: line 49: kill: (307868) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 5503 32759 656k 3551k 6992k 14.6M 19.7M 24.2M 28.6M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 5503 32759 656k 3551k 6992k 14.6M 19.7M 24.2M 28.6M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 5503 =~ [0-9]+ ]] ++ [[ 5503 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ kill -9 307980 +./common/device_lib.sh: line 49: kill: (307980) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 207k 2240k 5679k 11.4M 17.1M 23.5M 28.1M 33.6M 41.0M 46.7M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 207k 2240k 5679k 11.4M 17.1M 23.5M 28.1M 33.6M 41.0M 46.7M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 207k =~ [0-9]+ ]] ++ [[ 207k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ kill -9 308132 +./common/device_lib.sh: line 49: kill: (308132) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 8259 255k 1881k 5833k 10.9M 15.7M 22.5M 27.7M 34.6M 39.8M 44.6M 50.9M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 8259 255k 1881k 5833k 10.9M 15.7M 22.5M 27.7M 34.6M 39.8M 44.6M 50.9M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 8259 =~ [0-9]+ ]] ++ [[ 8259 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-09-00:29:37.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Tue Apr 9 00:29:37 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Tue Apr 9 00:29:38 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Tue Apr 9 00:29:38 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpjkh0zn18 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjkh0zn18 +Tue Apr 9 00:29:38 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjkh0zn18 +Tue Apr 9 00:29:39 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjkh0zn18 ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Tue Apr 9 00:29:41 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_device/2024-04-09-00_29_37.tar.gz b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_device/2024-04-09-00_29_37.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8d08639e6d8bbffa34e790ffb20d8aa83f37b1c7 GIT binary patch literal 7679 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 ZlHgg7Co})F+n^as^*mOLdvX}}{s&a+OyvLo literal 0 HcmV?d00001 diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-08-23_59_12.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-08-23_59_12.log new file mode 100644 index 00000000..5aa01b76 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-08-23_59_12.log @@ -0,0 +1,304 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:59:13 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:59:13 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:59:14 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmplwcj4jb_ ++ '[' -z '' ']' ++ tmpfile=/tmp/tmplwcj4jb_ ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 20.8M 0 59806 0 0 242k 0 0:01:28 --:--:-- 0:01:28 242k 37 20.8M 37 8122k 0 0 6628k 0 0:00:03 0:00:01 0:00:02 6630k 64 20.8M 64 13.3M 0 0 6137k 0 0:00:03 0:00:02 0:00:01 6136k 98 20.8M 98 20.5M 0 0 6537k 0 0:00:03 0:00:03 --:--:-- 6537k 100 20.8M 100 20.8M 0 0 6540k 0 0:00:03 0:00:03 --:--:-- 6540k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:59:25 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:59:25 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting +objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting +objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting +objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting +objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 9 42.8M 9 3966k 0 0 4975k 0 0:00:08 --:--:-- 0:00:08 4977k 28 42.8M 28 12.3M 0 0 6941k 0 0:00:06 0:00:01 0:00:05 6940k 35 42.8M 35 15.1M 0 0 5466k 0 0:00:08 0:00:02 0:00:06 5466k 37 42.8M 37 16.0M 0 0 4328k 0 0:00:10 0:00:03 0:00:07 4328k 40 42.8M 40 17.1M 0 0 3663k 0 0:00:11 0:00:04 0:00:07 3663k 44 42.8M 44 18.9M 0 0 3342k 0 0:00:13 0:00:05 0:00:08 3082k 47 42.8M 47 20.2M 0 0 3052k 0 0:00:14 0:00:06 0:00:08 1629k 51 42.8M 51 22.2M 0 0 2921k 0 0:00:15 0:00:07 0:00:08 1461k 58 42.8M 58 24.9M 0 0 2902k 0 0:00:15 0:00:08 0:00:07 1818k 66 42.8M 66 28.3M 0 0 2958k 0 0:00:14 0:00:09 0:00:05 2281k 75 42.8M 75 32.3M 0 0 3065k 0 0:00:14 0:00:10 0:00:04 2742k 85 42.8M 85 36.7M 0 0 3188k 0 0:00:13 0:00:11 0:00:02 3374k 95 42.8M 95 40.7M 0 0 3258k 0 0:00:13 0:00:12 0:00:01 3785k 100 42.8M 100 42.8M 0 0 3288k 0 0:00:13 0:00:13 --:--:-- 4036k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Tue Apr 9 00:00:17 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Tue Apr 9 00:00:17 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Tue Apr 9 00:00:18 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmplwcj4jb_ ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmplwcj4jb_ +Tue Apr 9 00:00:18 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmplwcj4jb_ +Tue Apr 9 00:00:19 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmplwcj4jb_ ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Tue Apr 9 00:00:21 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-08-23_51_16.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-08-23_51_16.log new file mode 100644 index 00000000..61cf21b7 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-08-23_51_16.log @@ -0,0 +1,282 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:51:16 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:51:17 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:51:17 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpaf5tv0bz ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpaf5tv0bz ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 20.8M 6 1355k 0 0 2252k 0 0:00:09 --:--:-- 0:00:09 2251k 23 20.8M 23 5003k 0 0 3123k 0 0:00:06 0:00:01 0:00:05 3123k 31 20.8M 31 6715k 0 0 2580k 0 0:00:08 0:00:02 0:00:06 2580k 42 20.8M 42 9035k 0 0 2505k 0 0:00:08 0:00:03 0:00:05 2504k 51 20.8M 51 10.7M 0 0 2392k 0 0:00:08 0:00:04 0:00:04 2392k 68 20.8M 68 14.3M 0 0 2615k 0 0:00:08 0:00:05 0:00:03 2659k 89 20.8M 89 18.6M 0 0 2900k 0 0:00:07 0:00:06 0:00:01 2828k 100 20.8M 100 20.8M 0 0 2989k 0 0:00:07 0:00:07 --:--:-- 3224k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:51:33 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:51:33 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 231M 0 218k 0 0 289k 0 0:13:38 --:--:-- 0:13:38 289k 0 231M 0 890k 0 0 509k 0 0:07:45 0:00:01 0:07:44 509k 0 231M 0 1914k 0 0 694k 0 0:05:40 0:00:02 0:05:38 694k 1 231M 1 3674k 0 0 980k 0 0:04:01 0:00:03 0:03:58 980k 2 231M 2 5738k 0 0 1208k 0 0:03:16 0:00:04 0:03:12 1208k 3 231M 3 7978k 0 0 1387k 0 0:02:50 0:00:05 0:02:45 1552k 4 231M 4 10.1M 0 0 1535k 0 0:02:34 0:00:06 0:02:28 1894k 5 231M 5 12.5M 0 0 1653k 0 0:02:23 0:00:07 0:02:16 2182k 6 231M 6 14.9M 0 0 1745k 0 0:02:15 0:00:08 0:02:07 2320k 7 231M 7 17.9M 0 0 1890k 0 0:02:05 0:00:09 0:01:56 2538k 9 231M 9 21.8M 0 0 2077k 0 0:01:54 0:00:10 0:01:44 2872k 11 231M 11 26.0M 0 0 2271k 0 0:01:44 0:00:11 0:01:33 3263k 12 231M 12 28.7M 0 0 2309k 0 0:01:42 0:00:12 0:01:30 3327k 13 231M 13 32.0M 0 0 2386k 0 0:01:39 0:00:13 0:01:26 3507k 15 231M 15 35.9M 0 0 2497k 0 0:01:34 0:00:14 0:01:20 3679k 17 231M 17 40.6M 0 0 2643k 0 0:01:29 0:00:15 0:01:14 3858k 19 231M 19 46.1M 0 0 2823k 0 0:01:23 0:00:16 0:01:07 4122k 22 231M 22 52.4M 0 0 3024k 0 0:01:18 0:00:17 0:01:01 4844k 24 231M 24 56.8M 0 0 3103k 0 0:01:16 0:00:18 0:00:58 5073k 27 231M 27 62.6M 0 0 3250k 0 0:01:12 0:00:19 0:00:53 5473k 29 231M 29 69.0M 0 0 3408k 0 0:01:09 0:00:20 0:00:49 5818k 31 231M 31 73.0M 0 0 3438k 0 0:01:08 0:00:21 0:00:47 5499k 33 231M 33 76.8M 0 0 3457k 0 0:01:08 0:00:22 0:00:46 4995k 34 231M 34 80.2M 0 0 3460k 0 0:01:08 0:00:23 0:00:45 4801k 36 231M 36 84.1M 0 0 3479k 0 0:01:08 0:00:24 0:00:44 4386k 38 231M 38 88.5M 0 0 3521k 0 0:01:07 0:00:25 0:00:42 3992k 40 231M 40 93.6M 0 0 3585k 0 0:01:06 0:00:26 0:00:40 4224k 42 231M 42 99.1M 0 0 3658k 0 0:01:04 0:00:27 0:00:37 4576k 44 231M 44 103M 0 0 3680k 0 0:01:04 0:00:28 0:00:36 4722k 45 231M 45 106M 0 0 3655k 0 0:01:04 0:00:29 0:00:35 4527k 46 231M 46 108M 0 0 3600k 0 0:01:05 0:00:30 0:00:35 4008k 47 231M 47 109M 0 0 3540k 0 0:01:06 0:00:31 0:00:35 3298k 48 231M 48 111M 0 0 3475k 0 0:01:08 0:00:32 0:00:36 2457k 48 231M 48 112M 0 0 3420k 0 0:01:09 0:00:33 0:00:36 1926k 49 231M 49 114M 0 0 3375k 0 0:01:10 0:00:34 0:00:36 1706k 50 231M 50 116M 0 0 3326k 0 0:01:11 0:00:35 0:00:36 1636k 50 231M 50 117M 0 0 3284k 0 0:01:12 0:00:36 0:00:36 1658k 51 231M 51 120M 0 0 3260k 0 0:01:12 0:00:37 0:00:35 1858k 52 231M 52 122M 0 0 3224k 0 0:01:13 0:00:38 0:00:35 1903k 53 231M 53 124M 0 0 3197k 0 0:01:14 0:00:39 0:00:35 1962k 54 231M 54 125M 0 0 3161k 0 0:01:14 0:00:40 0:00:34 1986k 55 231M 55 127M 0 0 3134k 0 0:01:15 0:00:41 0:00:34 2031k 56 231M 56 130M 0 0 3119k 0 0:01:15 0:00:42 0:00:33 2047k 57 231M 57 132M 0 0 3104k 0 0:01:16 0:00:43 0:00:33 2180k 58 231M 58 135M 0 0 3098k 0 0:01:16 0:00:44 0:00:32 2310k 59 231M 59 138M 0 0 3089k 0 0:01:16 0:00:45 0:00:31 2503k 60 231M 60 139M 0 0 3062k 0 0:01:17 0:00:46 0:00:31 2459k 61 231M 61 141M 0 0 3034k 0 0:01:18 0:00:47 0:00:31 2309k 62 231M 62 143M 0 0 3022k 0 0:01:18 0:00:48 0:00:30 2300k 62 231M 62 145M 0 0 2995k 0 0:01:19 0:00:49 0:00:30 2075k 63 231M 63 147M 0 0 2973k 0 0:01:19 0:00:50 0:00:29 1910k 64 231M 64 149M 0 0 2967k 0 0:01:19 0:00:51 0:00:28 2081k 66 231M 66 153M 0 0 2975k 0 0:01:19 0:00:52 0:00:27 2411k 67 231M 67 156M 0 0 2983k 0 0:01:19 0:00:53 0:00:26 2603k 68 231M 68 157M 0 0 2939k 0 0:01:20 0:00:54 0:00:26 2389k 68 231M 68 157M 0 0 2895k 0 0:01:21 0:00:55 0:00:26 2104k 68 231M 68 158M 0 0 2857k 0 0:01:22 0:00:56 0:00:26 1719k 69 231M 69 159M 0 0 2832k 0 0:01:23 0:00:57 0:00:26 1324k 69 231M 69 161M 0 0 2806k 0 0:01:24 0:00:58 0:00:26 904k 70 231M 70 162M 0 0 2787k 0 0:01:24 0:00:59 0:00:25 1102k 71 231M 71 164M 0 0 2768k 0 0:01:25 0:01:00 0:00:25 1361k 71 231M 71 165M 0 0 2747k 0 0:01:26 0:01:01 0:00:25 1500k 72 231M 72 166M 0 0 2718k 0 0:01:27 0:01:02 0:00:25 1401k 72 231M 72 167M 0 0 2662k 0 0:01:28 0:01:04 0:00:24 1213k 72 231M 72 167M 0 0 2621k 0 0:01:30 0:01:05 0:00:25 925k 72 231M 72 167M 0 0 2582k 0 0:01:31 0:01:06 0:00:25 632k 72 231M 72 167M 0 0 2544k 0 0:01:33 0:01:07 0:00:26 396k 72 231M 72 167M 0 0 2506k 0 0:01:34 0:01:08 0:00:26 237k 72 231M 72 167M 0 0 2470k 0 0:01:35 0:01:09 0:00:26 0 72 231M 72 167M 0 0 2435k 0 0:01:37 0:01:10 0:00:27 0 72 231M 72 167M 0 0 2401k 0 0:01:38 0:01:11 0:00:27 0 72 231M 72 167M 0 0 2368k 0 0:01:40 0:01:12 0:00:28 0 72 231M 72 167M 0 0 2336k 0 0:01:41 0:01:13 0:00:28 0 72 231M 72 167M 0 0 2304k 0 0:01:42 0:01:14 0:00:28 0 72 231M 72 167M 0 0 2273k 0 0:01:44 0:01:15 0:00:29 0 72 231M 72 167M 0 0 2244k 0 0:01:45 0:01:16 0:00:29 0 72 231M 72 167M 0 0 2215k 0 0:01:46 0:01:17 0:00:29 0 72 231M 72 167M 0 0 2187k 0 0:01:48 0:01:18 0:00:30 0 72 231M 72 167M 0 0 2159k 0 0:01:49 0:01:19 0:00:30 0 72 231M 72 167M 0 0 2132k 0 0:01:51 0:01:20 0:00:31 0 72 231M 72 167M 0 0 2106k 0 0:01:52 0:01:21 0:00:31 0 72 231M 72 167M 0 0 2080k 0 0:01:53 0:01:22 0:00:31 0 72 231M 72 167M 0 0 2055k 0 0:01:55 0:01:23 0:00:32 0 72 231M 72 167M 0 0 2031k 0 0:01:56 0:01:24 0:00:32 0 72 231M 72 167M 0 0 2007k 0 0:01:57 0:01:25 0:00:32 0 72 231M 72 167M 0 0 1984k 0 0:01:59 0:01:26 0:00:33 0 72 231M 72 167M 0 0 1961k 0 0:02:00 0:01:27 0:00:33 0 72 231M 72 167M 0 0 1939k 0 0:02:02 0:01:28 0:00:34 0 72 231M 72 167M 0 0 1917k 0 0:02:03 0:01:29 0:00:34 0 72 231M 72 167M 0 0 1896k 0 0:02:04 0:01:30 0:00:34 0 72 231M 72 167M 0 0 1875k 0 0:02:06 0:01:31 0:00:35 0 72 231M 72 167M 0 0 1855k 0 0:02:07 0:01:32 0:00:35 0 72 231M 72 167M 0 0 1835k 0 0:02:09 0:01:33 0:00:36 0 72 231M 72 167M 0 0 1816k 0 0:02:10 0:01:34 0:00:36 0 72 231M 72 167M 0 0 1797k 0 0:02:11 0:01:35 0:00:36 0 72 231M 72 167M 0 0 1778k 0 0:02:13 0:01:36 0:00:37 0 72 231M 72 167M 0 0 1760k 0 0:02:14 0:01:37 0:00:37 0 72 231M 72 167M 0 0 1742k 0 0:02:15 0:01:38 0:00:37 0 72 231M 72 167M 0 0 1725k 0 0:02:17 0:01:39 0:00:38 0 72 231M 72 167M 0 0 1707k 0 0:02:18 0:01:40 0:00:38 0 72 231M 72 167M 0 0 1691k 0 0:02:20 0:01:41 0:00:39 0 72 231M 72 167M 0 0 1674k 0 0:02:21 0:01:42 0:00:39 0 72 231M 72 167M 0 0 1658k 0 0:02:22 0:01:43 0:00:39 0 72 231M 72 167M 0 0 1642k 0 0:02:24 0:01:44 0:00:40 0 72 231M 72 167M 0 0 1626k 0 0:02:25 0:01:45 0:00:40 0 72 231M 72 167M 0 0 1611k 0 0:02:27 0:01:46 0:00:41 0 72 231M 72 167M 0 0 1596k 0 0:02:28 0:01:47 0:00:41 0 72 231M 72 167M 0 0 1581k 0 0:02:29 0:01:48 0:00:41 0 72 231M 72 167M 0 0 1567k 0 0:02:31 0:01:49 0:00:42 0 72 231M 72 167M 0 0 1553k 0 0:02:32 0:01:50 0:00:42 0 72 231M 72 167M 0 0 1539k 0 0:02:33 0:01:51 0:00:42 0 72 231M 72 167M 0 0 1525k 0 0:02:35 0:01:52 0:00:43 0 72 231M 72 167M 0 0 1512k 0 0:02:36 0:01:53 0:00:43 0 72 231M 72 167M 0 0 1498k 0 0:02:38 0:01:54 0:00:44 0 72 231M 72 167M 0 0 1485k 0 0:02:39 0:01:55 0:00:44 0 72 231M 72 167M 0 0 1473k 0 0:02:40 0:01:56 0:00:44 0 72 231M 72 167M 0 0 1473k 0 0:02:40 0:01:56 0:00:44 0 72 231M 72 167M 0 0 1460k 0 0:02:42 0:01:57 0:00:45 0 72 231M 72 167M 0 0 1448k 0 0:02:43 0:01:58 0:00:45 0 72 231M 72 167M 0 0 1436k 0 0:02:44 0:01:59 0:00:45 0 72 231M 72 167M 0 0 1424k 0 0:02:46 0:02:00 0:00:46 0 72 231M 72 167M 0 0 1412k 0 0:02:47 0:02:01 0:00:46 0 72 231M 72 167M 0 0 1400k 0 0:02:49 0:02:02 0:00:47 0 72 231M 72 167M 0 0 1389k 0 0:02:50 0:02:03 0:00:47 0 72 231M 72 167M 0 0 1378k 0 0:02:51 0:02:04 0:00:47 0 72 231M 72 167M 0 0 1367k 0 0:02:53 0:02:05 0:00:48 0 72 231M 72 167M 0 0 1356k 0 0:02:54 0:02:06 0:00:48 0 72 231M 72 167M 0 0 1345k 0 0:02:56 0:02:07 0:00:49 0 72 231M 72 167M 0 0 1335k 0 0:02:57 0:02:08 0:00:49 0 72 231M 72 167M 0 0 1325k 0 0:02:58 0:02:09 0:00:49 0 72 231M 72 167M 0 0 1314k 0 0:03:00 0:02:10 0:00:50 0 72 231M 72 167M 0 0 1304k 0 0:03:01 0:02:11 0:00:50 0 72 231M 72 167M 0 0 1295k 0 0:03:02 0:02:12 0:00:50 0 72 231M 72 167M 0 0 1285k 0 0:03:04 0:02:13 0:00:51 0 72 231M 72 167M 0 0 1275k 0 0:03:05 0:02:14 0:00:51 0 72 231M 72 167M 0 0 1266k 0 0:03:07 0:02:15 0:00:52 0 72 231M 72 167M 0 0 1257k 0 0:03:08 0:02:16 0:00:52 0 72 231M 72 167M 0 0 1247k 0 0:03:09 0:02:17 0:00:52 0 72 231M 72 167M 0 0 1238k 0 0:03:11 0:02:18 0:00:53 0 72 231M 72 167M 0 0 1230k 0 0:03:12 0:02:19 0:00:53 0 72 231M 72 167M 0 0 1221k 0 0:03:13 0:02:20 0:00:53 0 72 231M 72 167M 0 0 1212k 0 0:03:15 0:02:21 0:00:54 0 72 231M 72 167M 0 0 1204k 0 0:03:16 0:02:22 0:00:54 0 72 231M 72 167M 0 0 1195k 0 0:03:18 0:02:23 0:00:55 0 72 231M 72 167M 0 0 1187k 0 0:03:19 0:02:24 0:00:55 0 72 231M 72 167M 0 0 1179k 0 0:03:20 0:02:25 0:00:55 0 72 231M 72 167M 0 0 1171k 0 0:03:22 0:02:26 0:00:56 0 72 231M 72 167M 0 0 1163k 0 0:03:23 0:02:27 0:00:56 0 72 231M 72 167M 0 0 1155k 0 0:03:25 0:02:28 0:00:57 0 72 231M 72 167M 0 0 1147k 0 0:03:26 0:02:29 0:00:57 0 72 231M 72 167M 0 0 1140k 0 0:03:27 0:02:30 0:00:57 0 72 231M 72 167M 0 0 1132k 0 0:03:29 0:02:31 0:00:58 0 72 231M 72 167M 0 0 1125k 0 0:03:30 0:02:32 0:00:58 0 72 231M 72 167M 0 0 1117k 0 0:03:31 0:02:33 0:00:58 0 72 231M 72 167M 0 0 1110k 0 0:03:33 0:02:34 0:00:59 0 72 231M 72 167M 0 0 1103k 0 0:03:34 0:02:35 0:00:59 0 72 231M 72 167M 0 0 1096k 0 0:03:36 0:02:36 0:01:00 0 72 231M 72 167M 0 0 1089k 0 0:03:37 0:02:37 0:01:00 0 72 231M 72 167M 0 0 1082k 0 0:03:38 0:02:38 0:01:00 0 72 231M 72 167M 0 0 1075k 0 0:03:40 0:02:39 0:01:01 0 72 231M 72 167M 0 0 1069k 0 0:03:41 0:02:40 0:01:01 0 72 231M 72 167M 0 0 1062k 0 0:03:42 0:02:41 0:01:01 0 72 231M 72 167M 0 0 1055k 0 0:03:44 0:02:42 0:01:02 0 72 231M 72 167M 0 0 1049k 0 0:03:45 0:02:43 0:01:02 0 72 231M 72 167M 0 0 1043k 0 0:03:47 0:02:44 0:01:03 0 72 231M 72 167M 0 0 1036k 0 0:03:48 0:02:45 0:01:03 0 72 231M 72 167M 0 0 1030k 0 0:03:49 0:02:46 0:01:03 0 72 231M 72 167M 0 0 1024k 0 0:03:51 0:02:47 0:01:04 0 72 231M 72 167M 0 0 1018k 0 0:03:52 0:02:48 0:01:04 0 72 231M 72 167M 0 0 1012k 0 0:03:54 0:02:49 0:01:05 0 72 231M 72 167M 0 0 1006k 0 0:03:55 0:02:50 0:01:05 0 72 231M 72 167M 0 0 1000k 0 0:03:56 0:02:51 0:01:05 0 72 231M 72 167M 0 0 994k 0 0:03:58 0:02:52 0:01:06 0 72 231M 72 167M 0 0 988k 0 0:03:59 0:02:53 0:01:06 0 72 231M 72 167M 0 0 983k 0 0:04:00 0:02:54 0:01:06 0 72 231M 72 167M 0 0 977k 0 0:04:02 0:02:55 0:01:07 0 72 231M 72 167M 0 0 972k 0 0:04:03 0:02:56 0:01:07 0 72 231M 72 167M 0 0 966k 0 0:04:05 0:02:57 0:01:08 0 72 231M 72 167M 0 0 961k 0 0:04:06 0:02:58 0:01:08 0 72 231M 72 167M 0 0 955k 0 0:04:07 0:02:59 0:01:08 0 72 231M 72 167M 0 0 950k 0 0:04:09 0:03:00 0:01:09 0 72 231M 72 167M 0 0 945k 0 0:04:10 0:03:01 0:01:09 0 72 231M 72 167M 0 0 940k 0 0:04:11 0:03:02 0:01:09 0 72 231M 72 167M 0 0 935k 0 0:04:13 0:03:03 0:01:10 0 72 231M 72 167M 0 0 930k 0 0:04:14 0:03:04 0:01:10 0 72 231M 72 167M 0 0 925k 0 0:04:16 0:03:05 0:01:11 0 72 231M 72 167M 0 0 920k 0 0:04:17 0:03:06 0:01:11 0 72 231M 72 167M 0 0 915k 0 0:04:18 0:03:07 0:01:11 0 72 231M 72 167M 0 0 910k 0 0:04:20 0:03:08 0:01:12 0 72 231M 72 167M 0 0 905k 0 0:04:21 0:03:09 0:01:12 0 72 231M 72 167M 0 0 900k 0 0:04:23 0:03:10 0:01:13 0 72 231M 72 167M 0 0 896k 0 0:04:24 0:03:11 0:01:13 0 72 231M 72 167M 0 0 891k 0 0:04:25 0:03:12 0:01:13 0 72 231M 72 167M 0 0 886k 0 0:04:27 0:03:13 0:01:14 0 72 231M 72 167M 0 0 882k 0 0:04:28 0:03:14 0:01:14 0 72 231M 72 167M 0 0 877k 0 0:04:29 0:03:15 0:01:14 0 72 231M 72 167M 0 0 873k 0 0:04:31 0:03:16 0:01:15 0 72 231M 72 167M 0 0 868k 0 0:04:32 0:03:17 0:01:15 0 72 231M 72 167M 0 0 864k 0 0:04:34 0:03:18 0:01:16 0 72 231M 72 167M 0 0 860k 0 0:04:35 0:03:19 0:01:16 0 72 231M 72 167M 0 0 855k 0 0:04:36 0:03:20 0:01:16 0 72 231M 72 167M 0 0 851k 0 0:04:38 0:03:21 0:01:17 0 72 231M 72 167M 0 0 847k 0 0:04:39 0:03:22 0:01:17 0 72 231M 72 167M 0 0 843k 0 0:04:40 0:03:23 0:01:17 0 72 231M 72 167M 0 0 839k 0 0:04:42 0:03:24 0:01:18 0 72 231M 72 167M 0 0 835k 0 0:04:43 0:03:25 0:01:18 0 72 231M 72 167M 0 0 830k 0 0:04:45 0:03:26 0:01:19 0 72 231M 72 167M 0 0 826k 0 0:04:46 0:03:27 0:01:19 0 72 231M 72 167M 0 0 823k 0 0:04:47 0:03:28 0:01:19 0 72 231M 72 167M 0 0 819k 0 0:04:49 0:03:29 0:01:20 0 72 231M 72 167M 0 0 815k 0 0:04:50 0:03:30 0:01:20 0 72 231M 72 167M 0 0 811k 0 0:04:51 0:03:31 0:01:20 0 72 231M 72 167M 0 0 807k 0 0:04:53 0:03:32 0:01:21 0 72 231M 72 167M 0 0 803k 0 0:04:54 0:03:33 0:01:21 0 72 231M 72 167M 0 0 799k 0 0:04:56 0:03:34 0:01:22 0 72 231M 72 167M 0 0 796k 0 0:04:57 0:03:35 0:01:22 0 72 231M 72 167M 0 0 792k 0 0:04:58 0:03:36 0:01:22 0 72 231M 72 167M 0 0 788k 0 0:05:00 0:03:37 0:01:23 0 72 231M 72 167M 0 0 788k 0 0:05:00 0:03:38 0:01:22 0 +curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0 +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz' returned 56 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 231M 0 603k 0 0 1078k 0 0:03:39 --:--:-- 0:03:39 1079k 0 231M 0 2267k 0 0 1441k 0 0:02:44 0:00:01 0:02:43 1441k 1 231M 1 3995k 0 0 1558k 0 0:02:32 0:00:02 0:02:30 1558k 2 231M 2 5163k 0 0 1448k 0 0:02:43 0:00:03 0:02:40 1448k 2 231M 2 7035k 0 0 1541k 0 0:02:33 0:00:04 0:02:29 1541k 3 231M 3 9099k 0 0 1637k 0 0:02:24 0:00:05 0:02:19 1699k 4 231M 4 10.8M 0 0 1690k 0 0:02:20 0:00:06 0:02:14 1768k 5 231M 5 12.1M 0 0 1650k 0 0:02:23 0:00:07 0:02:16 1697k 5 231M 5 13.4M 0 0 1615k 0 0:02:26 0:00:08 0:02:18 1733k 6 231M 6 15.2M 0 0 1629k 0 0:02:25 0:00:09 0:02:16 1709k 7 231M 7 17.0M 0 0 1656k 0 0:02:23 0:00:10 0:02:13 1676k 7 231M 7 18.3M 0 0 1628k 0 0:02:25 0:00:11 0:02:14 1546k 8 231M 8 19.4M 0 0 1588k 0 0:02:29 0:00:12 0:02:17 1495k 9 231M 9 21.1M 0 0 1598k 0 0:02:28 0:00:13 0:02:15 1571k 9 231M 9 23.0M 0 0 1619k 0 0:02:26 0:00:14 0:02:12 1601k 10 231M 10 23.6M 0 0 1555k 0 0:02:32 0:00:15 0:02:17 1343k 10 231M 10 24.9M 0 0 1544k 0 0:02:33 0:00:16 0:02:17 1350k 11 231M 11 26.5M 0 0 1550k 0 0:02:32 0:00:17 0:02:15 1454k 12 231M 12 28.3M 0 0 1561k 0 0:02:31 0:00:18 0:02:13 1459k 12 231M 12 29.8M 0 0 1562k 0 0:02:31 0:00:19 0:02:12 1395k 13 231M 13 30.8M 0 0 1536k 0 0:02:34 0:00:20 0:02:14 1477k 14 231M 14 32.4M 0 0 1538k 0 0:02:33 0:00:21 0:02:12 1519k 14 231M 14 34.0M 0 0 1546k 0 0:02:33 0:00:22 0:02:11 1534k 15 231M 15 35.6M 0 0 1551k 0 0:02:32 0:00:23 0:02:09 1516k 16 231M 16 37.1M 0 0 1549k 0 0:02:32 0:00:24 0:02:08 1497k 16 231M 16 38.7M 0 0 1552k 0 0:02:32 0:00:25 0:02:07 1616k 17 231M 17 39.9M 0 0 1541k 0 0:02:33 0:00:26 0:02:07 1554k 17 231M 17 40.8M 0 0 1517k 0 0:02:36 0:00:27 0:02:09 1385k 18 231M 18 41.8M 0 0 1500k 0 0:02:37 0:00:28 0:02:09 1257k 18 231M 18 43.2M 0 0 1497k 0 0:02:38 0:00:29 0:02:09 1244k 19 231M 19 44.9M 0 0 1505k 0 0:02:37 0:00:30 0:02:07 1267k 20 231M 20 46.5M 0 0 1511k 0 0:02:36 0:00:31 0:02:05 1353k 20 231M 20 48.0M 0 0 1510k 0 0:02:36 0:00:32 0:02:04 1470k 21 231M 21 49.7M 0 0 1517k 0 0:02:36 0:00:33 0:02:03 1612k 22 231M 22 51.5M 0 0 1526k 0 0:02:35 0:00:34 0:02:01 1700k 22 231M 22 53.1M 0 0 1531k 0 0:02:34 0:00:35 0:01:59 1686k 23 231M 23 54.6M 0 0 1530k 0 0:02:34 0:00:36 0:01:58 1651k 24 231M 24 55.9M 0 0 1525k 0 0:02:35 0:00:37 0:01:58 1620k 24 231M 24 57.1M 0 0 1518k 0 0:02:36 0:00:38 0:01:58 1525k 25 231M 25 58.4M 0 0 1513k 0 0:02:36 0:00:39 0:01:57 1420k 25 231M 25 59.8M 0 0 1512k 0 0:02:36 0:00:40 0:01:56 1376k 26 231M 26 60.9M 0 0 1502k 0 0:02:37 0:00:41 0:01:56 1295k 26 231M 26 61.7M 0 0 1484k 0 0:02:39 0:00:42 0:01:57 1184k 27 231M 27 63.1M 0 0 1485k 0 0:02:39 0:00:43 0:01:56 1232k 28 231M 28 65.3M 0 0 1501k 0 0:02:37 0:00:44 0:01:53 1408k 29 231M 29 68.1M 0 0 1531k 0 0:02:34 0:00:45 0:01:49 1693k 30 231M 30 71.5M 0 0 1573k 0 0:02:30 0:00:46 0:01:44 2164k 32 231M 32 74.9M 0 0 1613k 0 0:02:26 0:00:47 0:01:39 2709k 33 231M 33 77.9M 0 0 1643k 0 0:02:24 0:00:48 0:01:36 3014k 34 231M 34 80.7M 0 0 1668k 0 0:02:21 0:00:49 0:01:32 3154k 36 231M 36 83.5M 0 0 1692k 0 0:02:20 0:00:50 0:01:30 3152k 37 231M 37 86.4M 0 0 1717k 0 0:02:17 0:00:51 0:01:26 3056k 38 231M 38 89.2M 0 0 1739k 0 0:02:16 0:00:52 0:01:24 2934k 39 231M 39 91.7M 0 0 1752k 0 0:02:15 0:00:53 0:01:22 2817k 40 231M 40 94.0M 0 0 1765k 0 0:02:14 0:00:54 0:01:20 2726k 41 231M 41 96.6M 0 0 1781k 0 0:02:13 0:00:55 0:01:18 2682k 42 231M 42 98.9M 0 0 1791k 0 0:02:12 0:00:56 0:01:16 2555k 43 231M 43 100M 0 0 1785k 0 0:02:12 0:00:57 0:01:15 2268k 43 231M 43 101M 0 0 1780k 0 0:02:13 0:00:58 0:01:15 2071k 44 231M 44 103M 0 0 1781k 0 0:02:12 0:00:59 0:01:13 1961k 45 231M 45 104M 0 0 1775k 0 0:02:13 0:01:00 0:01:13 1712k 46 231M 46 106M 0 0 1775k 0 0:02:13 0:01:01 0:01:12 1600k 46 231M 46 108M 0 0 1772k 0 0:02:13 0:01:02 0:01:11 1626k 47 231M 47 109M 0 0 1766k 0 0:02:14 0:01:03 0:01:11 1612k 48 231M 48 111M 0 0 1765k 0 0:02:14 0:01:04 0:01:10 1574k 49 231M 49 113M 0 0 1770k 0 0:02:13 0:01:05 0:01:08 1715k 50 231M 50 115M 0 0 1782k 0 0:02:12 0:01:06 0:01:06 1865k 51 231M 51 118M 0 0 1802k 0 0:02:11 0:01:07 0:01:04 2182k 52 231M 52 121M 0 0 1818k 0 0:02:10 0:01:08 0:01:02 2478k 53 231M 53 124M 0 0 1838k 0 0:02:08 0:01:09 0:00:59 2774k 55 231M 55 127M 0 0 1851k 0 0:02:07 0:01:10 0:00:57 2903k 56 231M 56 130M 0 0 1860k 0 0:02:07 0:01:11 0:00:56 2899k 57 231M 57 132M 0 0 1876k 0 0:02:06 0:01:12 0:00:54 2870k 58 231M 58 135M 0 0 1887k 0 0:02:05 0:01:13 0:00:52 2836k 59 231M 59 138M 0 0 1897k 0 0:02:04 0:01:14 0:00:50 2723k 61 231M 61 141M 0 0 1921k 0 0:02:03 0:01:15 0:00:48 2907k 62 231M 62 145M 0 0 1946k 0 0:02:01 0:01:16 0:00:45 3180k 64 231M 64 148M 0 0 1962k 0 0:02:00 0:01:17 0:00:43 3205k 65 231M 65 151M 0 0 1975k 0 0:01:59 0:01:18 0:00:41 3276k 66 231M 66 154M 0 0 1990k 0 0:01:59 0:01:19 0:00:40 3376k 68 231M 68 158M 0 0 2013k 0 0:01:57 0:01:20 0:00:37 3411k 70 231M 70 162M 0 0 2044k 0 0:01:55 0:01:21 0:00:34 3532k 72 231M 72 167M 0 0 2080k 0 0:01:53 0:01:22 0:00:31 3923k 74 231M 74 172M 0 0 2117k 0 0:01:51 0:01:23 0:00:28 4348k 76 231M 76 176M 0 0 2137k 0 0:01:50 0:01:24 0:00:26 4473k 77 231M 77 180M 0 0 2158k 0 0:01:49 0:01:25 0:00:24 4495k 79 231M 79 184M 0 0 2187k 0 0:01:48 0:01:26 0:00:22 4527k 82 231M 82 190M 0 0 2224k 0 0:01:46 0:01:27 0:00:19 4592k 84 231M 84 196M 0 0 2268k 0 0:01:44 0:01:28 0:00:16 4777k 87 231M 87 202M 0 0 2318k 0 0:01:42 0:01:29 0:00:13 5379k 90 231M 90 210M 0 0 2375k 0 0:01:39 0:01:30 0:00:09 6083k 94 231M 94 217M 0 0 2437k 0 0:01:37 0:01:31 0:00:06 6764k 97 231M 97 226M 0 0 2507k 0 0:01:34 0:01:32 0:00:02 7460k 100 231M 100 231M 0 0 2545k 0 0:01:33 0:01:33 --:--:-- 7975k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Mon Apr 8 23:58:18 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Mon Apr 8 23:58:18 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Mon Apr 8 23:58:18 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpaf5tv0bz ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpaf5tv0bz +Mon Apr 8 23:58:19 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpaf5tv0bz +Mon Apr 8 23:58:20 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpaf5tv0bz ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Mon Apr 8 23:58:24 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_llvm/2024-04-08-23_44_04.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_llvm/2024-04-08-23_44_04.log new file mode 100644 index 00000000..f5f7937e --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_llvm/2024-04-08-23_44_04.log @@ -0,0 +1,203 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:44:04 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:44:05 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:44:05 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpu6fsbyop ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpu6fsbyop ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 12 20.8M 12 2702k 0 0 2786k 0 0:00:07 --:--:-- 0:00:07 2786k 30 20.8M 30 6430k 0 0 3262k 0 0:00:06 0:00:01 0:00:05 3262k 47 20.8M 47 9.9M 0 0 3435k 0 0:00:06 0:00:02 0:00:04 3435k 66 20.8M 66 13.9M 0 0 3606k 0 0:00:05 0:00:03 0:00:02 3606k 85 20.8M 85 17.7M 0 0 3665k 0 0:00:05 0:00:04 0:00:01 3665k 100 20.8M 100 20.8M 0 0 3750k 0 0:00:05 0:00:05 --:--:-- 3948k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:44:19 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:44:19 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' riscv64 == riscv64 ']' ++ qemu_pkg= ++ qemu_cmd= ++ qemu_bin= ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting +objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting +objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% +(325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% +(355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% +(384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% +(414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: +60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: +64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting +objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% +(554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -v 'no binary for current host' +++ grep -e '^ -' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No llvm-upstream available for current host riscv64, skip' ++ message='No llvm-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No llvm-upstream available for current host riscv64, skip' +Mon Apr 8 23:44:36 2024 - INFO - No llvm-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Mon Apr 8 23:44:36 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpu6fsbyop ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpu6fsbyop +Mon Apr 8 23:44:37 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpu6fsbyop +Mon Apr 8 23:44:38 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpu6fsbyop ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Mon Apr 8 23:44:39 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_news/2024-04-08-23_58_25.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_news/2024-04-08-23_58_25.log new file mode 100644 index 00000000..972d5577 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_news/2024-04-08-23_58_25.log @@ -0,0 +1,237 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:58:26 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:58:26 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:58:27 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpcuwu5qeg ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpcuwu5qeg ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 12 20.8M 12 2618k 0 0 3198k 0 0:00:06 --:--:-- 0:00:06 3197k 38 20.8M 38 8298k 0 0 4566k 0 0:00:04 0:00:01 0:00:03 4564k 69 20.8M 69 14.4M 0 0 5240k 0 0:00:04 0:00:02 0:00:02 5240k 94 20.8M 94 19.7M 0 0 5291k 0 0:00:04 0:00:03 0:00:01 5291k 100 20.8M 100 20.8M 0 0 5295k 0 0:00:04 0:00:04 --:--:-- 5297k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:58:39 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:58:40 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Mon Apr 8 23:59:08 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Mon Apr 8 23:59:08 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Mon Apr 8 23:59:09 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpcuwu5qeg ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpcuwu5qeg +Mon Apr 8 23:59:09 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpcuwu5qeg +Mon Apr 8 23:59:10 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpcuwu5qeg ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Mon Apr 8 23:59:12 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_qemu/2024-04-09-00_41_21.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_qemu/2024-04-09-00_41_21.log new file mode 100644 index 00000000..d67d3728 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_qemu/2024-04-09-00_41_21.log @@ -0,0 +1,169 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Tue Apr 9 00:41:21 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:41:22 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:41:22 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp1ypqlnp7 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp1ypqlnp7 ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 24 20.8M 24 5337k 0 0 5443k 0 0:00:03 --:--:-- 0:00:03 5440k 66 20.8M 66 13.7M 0 0 7126k 0 0:00:02 0:00:01 0:00:01 7124k 100 20.8M 100 20.8M 0 0 7455k 0 0:00:02 0:00:02 --:--:-- 7457k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Tue Apr 9 00:41:33 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Tue Apr 9 00:41:33 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -v 'no binary for current host' +++ grep -e '^ -' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No qemu-user-riscv-upstream available for current host riscv64, skip' ++ message='No qemu-user-riscv-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No qemu-user-riscv-upstream available for current host riscv64, skip' +Tue Apr 9 00:41:50 2024 - INFO - No qemu-user-riscv-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Tue Apr 9 00:41:51 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp1ypqlnp7 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1ypqlnp7 +Tue Apr 9 00:41:51 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1ypqlnp7 +Tue Apr 9 00:41:52 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1ypqlnp7 ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Tue Apr 9 00:41:54 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_venv/2024-04-09-00_38_37.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_venv/2024-04-09-00_38_37.log new file mode 100644 index 00000000..143134c1 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_venv/2024-04-09-00_38_37.log @@ -0,0 +1,294 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Tue Apr 9 00:38:37 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:38:38 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Tue Apr 9 00:38:38 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpqg9ffl9g ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpqg9ffl9g ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 12 20.8M 12 2665k 0 0 2367k 0 0:00:09 0:00:01 0:00:08 2366k 26 20.8M 26 5753k 0 0 2715k 0 0:00:07 0:00:02 0:00:05 2715k 44 20.8M 44 9561k 0 0 3064k 0 0:00:06 0:00:03 0:00:03 3064k 62 20.8M 62 13.1M 0 0 3261k 0 0:00:06 0:00:04 0:00:02 3262k 77 20.8M 77 16.2M 0 0 3256k 0 0:00:06 0:00:05 0:00:01 3340k 90 20.8M 90 18.9M 0 0 3178k 0 0:00:06 0:00:06 --:--:-- 3360k 100 20.8M 100 20.8M 0 0 3128k 0 0:00:06 0:00:06 --:--:-- 3315k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Tue Apr 9 00:38:53 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Tue Apr 9 00:38:53 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting +objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting +objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting +objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% +(347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% +(377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% +(406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting +objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting +objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting +objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting +objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting +objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting +objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 231M 1 3113k 0 0 3039k 0 0:01:17 0:00:01 0:01:16 3037k 3 231M 3 7897k 0 0 3901k 0 0:01:00 0:00:02 0:00:58 3900k 5 231M 5 12.4M 0 0 4207k 0 0:00:56 0:00:03 0:00:53 4208k 7 231M 7 17.6M 0 0 4479k 0 0:00:52 0:00:04 0:00:48 4479k 9 231M 9 22.7M 0 0 4638k 0 0:00:51 0:00:05 0:00:46 4699k 12 231M 12 27.8M 0 0 4728k 0 0:00:50 0:00:06 0:00:44 5075k 14 231M 14 33.2M 0 0 4844k 0 0:00:48 0:00:07 0:00:41 5225k 16 231M 16 38.6M 0 0 4934k 0 0:00:48 0:00:08 0:00:40 5372k 19 231M 19 44.6M 0 0 5060k 0 0:00:46 0:00:09 0:00:37 5528k 22 231M 22 51.0M 0 0 5215k 0 0:00:45 0:00:10 0:00:35 5795k 24 231M 24 57.3M 0 0 5327k 0 0:00:44 0:00:11 0:00:33 6048k 27 231M 27 63.5M 0 0 5409k 0 0:00:43 0:00:12 0:00:31 6204k 30 231M 30 70.0M 0 0 5506k 0 0:00:43 0:00:13 0:00:30 6425k 32 231M 32 75.8M 0 0 5535k 0 0:00:42 0:00:14 0:00:28 6391k 35 231M 35 81.6M 0 0 5566k 0 0:00:42 0:00:15 0:00:27 6269k 37 231M 37 87.6M 0 0 5600k 0 0:00:42 0:00:16 0:00:26 6203k 40 231M 40 92.9M 0 0 5592k 0 0:00:42 0:00:17 0:00:25 6030k 42 231M 42 98.6M 0 0 5589k 0 0:00:42 0:00:18 0:00:24 5804k 43 231M 43 101M 0 0 5471k 0 0:00:43 0:00:19 0:00:24 5294k 45 231M 45 105M 0 0 5399k 0 0:00:43 0:00:20 0:00:23 4897k 47 231M 47 110M 0 0 5361k 0 0:00:44 0:00:21 0:00:23 4596k 49 231M 49 115M 0 0 5358k 0 0:00:44 0:00:22 0:00:22 4560k 52 231M 52 120M 0 0 5365k 0 0:00:44 0:00:23 0:00:21 4544k 54 231M 54 125M 0 0 5362k 0 0:00:44 0:00:24 0:00:20 4943k 56 231M 56 130M 0 0 5360k 0 0:00:44 0:00:25 0:00:19 5203k 58 231M 58 136M 0 0 5366k 0 0:00:44 0:00:26 0:00:18 5385k 61 231M 61 142M 0 0 5382k 0 0:00:44 0:00:27 0:00:17 5491k 63 231M 63 148M 0 0 5407k 0 0:00:43 0:00:28 0:00:15 5605k 66 231M 66 153M 0 0 5400k 0 0:00:43 0:00:29 0:00:14 5583k 68 231M 68 157M 0 0 5387k 0 0:00:43 0:00:30 0:00:13 5525k 70 231M 70 162M 0 0 5361k 0 0:00:44 0:00:31 0:00:13 5334k 72 231M 72 167M 0 0 5368k 0 0:00:44 0:00:32 0:00:12 5289k 75 231M 75 173M 0 0 5383k 0 0:00:44 0:00:33 0:00:11 5245k 77 231M 77 179M 0 0 5397k 0 0:00:43 0:00:34 0:00:09 5379k 79 231M 79 184M 0 0 5391k 0 0:00:43 0:00:35 0:00:08 5416k 82 231M 82 189M 0 0 5400k 0 0:00:43 0:00:36 0:00:07 5643k 84 231M 84 194M 0 0 5388k 0 0:00:43 0:00:37 0:00:06 5518k 86 231M 86 200M 0 0 5391k 0 0:00:43 0:00:38 0:00:05 5445k 89 231M 89 206M 0 0 5408k 0 0:00:43 0:00:39 0:00:04 5486k 91 231M 91 212M 0 0 5434k 0 0:00:43 0:00:40 0:00:03 5734k 94 231M 94 218M 0 0 5464k 0 0:00:43 0:00:41 0:00:02 5923k 97 231M 97 225M 0 0 5503k 0 0:00:43 0:00:42 0:00:01 6358k 100 231M 100 231M 0 0 5515k 0 0:00:42 0:00:42 --:--:-- 6469k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Tue Apr 9 00:41:13 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Tue Apr 9 00:41:13 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Tue Apr 9 00:41:13 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpqg9ffl9g ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpqg9ffl9g +Tue Apr 9 00:41:14 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpqg9ffl9g +Tue Apr 9 00:41:15 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpqg9ffl9g ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Tue Apr 9 00:41:19 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xdg/2024-04-08-23_39_39.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xdg/2024-04-08-23_39_39.log new file mode 100644 index 00000000..c51a2a04 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xdg/2024-04-08-23_39_39.log @@ -0,0 +1,651 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:39:39 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:39:40 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:39:41 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp39k8a0px ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp39k8a0px ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 20.8M 7 1592k 0 0 2835k 0 0:00:07 --:--:-- 0:00:07 2834k 47 20.8M 47 9.9M 0 0 6373k 0 0:00:03 0:00:01 0:00:02 6373k 71 20.8M 71 14.8M 0 0 5945k 0 0:00:03 0:00:02 0:00:01 5946k 92 20.8M 92 19.2M 0 0 5539k 0 0:00:03 0:00:03 --:--:-- 5539k 100 20.8M 100 20.8M 0 0 5428k 0 0:00:03 0:00:03 --:--:-- 5427k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:39:53 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:39:53 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-xthead +gnu-plct +llvm-upstream +gnu-plct-rv64ilp32-elf +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -v 'no binary for current host' +++ grep -e '^ -' ++ s=' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' '!' -z ' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ']' ++ pkgname=gnu-plct-xthead ++ break ++ '[' -z gnu-plct-xthead ']' ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sour +ces-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 294M 0 33742 0 0 138k 0 0:36:22 --:--:-- 0:36:22 138k 1 294M 1 5678k 0 0 4591k 0 0:01:05 0:00:01 0:01:04 4590k 4 294M 4 11.9M 0 0 5486k 0 0:00:55 0:00:02 0:00:53 5485k 6 294M 6 18.9M 0 0 6011k 0 0:00:50 0:00:03 0:00:47 6011k 8 294M 8 26.3M 0 0 6378k 0 0:00:47 0:00:04 0:00:43 6379k 10 294M 10 31.3M 0 0 6126k 0 0:00:49 0:00:05 0:00:44 6411k 11 294M 11 33.0M 0 0 5425k 0 0:00:55 0:00:06 0:00:49 5632k 11 294M 11 35.2M 0 0 4987k 0 0:01:00 0:00:07 0:00:53 4764k 12 294M 12 37.9M 0 0 4711k 0 0:01:04 0:00:08 0:00:56 3869k 14 294M 14 41.3M 0 0 4588k 0 0:01:05 0:00:09 0:00:56 3072k 15 294M 15 45.5M 0 0 4557k 0 0:01:06 0:00:10 0:00:56 2911k 16 294M 16 49.2M 0 0 4483k 0 0:01:07 0:00:11 0:00:56 3312k 17 294M 17 53.0M 0 0 4436k 0 0:01:08 0:00:12 0:00:56 3635k 19 294M 19 56.1M 0 0 4341k 0 0:01:09 0:00:13 0:00:56 3731k 20 294M 20 59.9M 0 0 4313k 0 0:01:09 0:00:14 0:00:55 3804k 21 294M 21 64.4M 0 0 4333k 0 0:01:09 0:00:15 0:00:54 3875k 23 294M 23 69.6M 0 0 4391k 0 0:01:08 0:00:16 0:00:52 4182k 24 294M 24 72.6M 0 0 4312k 0 0:01:10 0:00:17 0:00:53 4011k 26 294M 26 77.0M 0 0 4327k 0 0:01:09 0:00:18 0:00:51 4289k 27 294M 27 80.9M 0 0 4311k 0 0:01:10 0:00:19 0:00:51 4307k 28 294M 28 84.3M 0 0 4269k 0 0:01:10 0:00:20 0:00:50 4072k 29 294M 29 87.9M 0 0 4241k 0 0:01:11 0:00:21 0:00:50 3753k 31 294M 31 92.2M 0 0 4249k 0 0:01:11 0:00:22 0:00:49 4029k 32 294M 32 97.2M 0 0 4283k 0 0:01:10 0:00:23 0:00:47 4124k 34 294M 34 102M 0 0 4340k 0 0:01:09 0:00:24 0:00:45 4452k 36 294M 36 108M 0 0 4421k 0 0:01:08 0:00:25 0:00:43 5036k 39 294M 39 115M 0 0 4521k 0 0:01:06 0:00:26 0:00:40 5712k 41 294M 41 123M 0 0 4638k 0 0:01:05 0:00:27 0:00:38 6371k 44 294M 44 130M 0 0 4721k 0 0:01:03 0:00:28 0:00:35 6753k 45 294M 45 133M 0 0 4692k 0 0:01:04 0:00:29 0:00:35 6399k 46 294M 46 137M 0 0 4660k 0 0:01:04 0:00:30 0:00:34 5868k 48 294M 48 141M 0 0 4644k 0 0:01:04 0:00:31 0:00:33 5290k 49 294M 49 146M 0 0 4649k 0 0:01:04 0:00:32 0:00:32 4704k 51 294M 51 151M 0 0 4673k 0 0:01:04 0:00:33 0:00:31 4406k 53 294M 53 157M 0 0 4715k 0 0:01:04 0:00:34 0:00:30 4851k 55 294M 55 164M 0 0 4773k 0 0:01:03 0:00:35 0:00:28 5452k 58 294M 58 171M 0 0 4845k 0 0:01:02 0:00:36 0:00:26 6096k 60 294M 60 179M 0 0 4931k 0 0:01:01 0:00:37 0:00:24 6748k 63 294M 63 187M 0 0 5028k 0 0:01:00 0:00:38 0:00:22 7382k 66 294M 66 196M 0 0 5139k 0 0:00:58 0:00:39 0:00:19 8038k 69 294M 69 204M 0 0 5203k 0 0:00:58 0:00:40 0:00:18 8224k 70 294M 70 206M 0 0 5131k 0 0:00:58 0:00:41 0:00:17 7203k 70 294M 70 209M 0 0 5068k 0 0:00:59 0:00:42 0:00:17 6089k 71 294M 71 211M 0 0 5010k 0 0:01:00 0:00:43 0:00:17 4876k 72 294M 72 214M 0 0 4963k 0 0:01:00 0:00:44 0:00:16 3580k 73 294M 73 217M 0 0 4932k 0 0:01:01 0:00:45 0:00:16 2745k 75 294M 75 222M 0 0 4919k 0 0:01:01 0:00:46 0:00:15 3174k 77 294M 77 227M 0 0 4921k 0 0:01:01 0:00:47 0:00:14 3680k 78 294M 78 232M 0 0 4937k 0 0:01:01 0:00:48 0:00:13 4307k 81 294M 81 238M 0 0 4967k 0 0:01:00 0:00:49 0:00:11 5001k 83 294M 83 245M 0 0 5010k 0 0:01:00 0:00:50 0:00:10 5711k 85 294M 85 253M 0 0 5063k 0 0:00:59 0:00:51 0:00:08 6395k 88 294M 88 261M 0 0 5128k 0 0:00:58 0:00:52 0:00:06 7082k 91 294M 91 270M 0 0 5203k 0 0:00:58 0:00:53 0:00:05 7763k 93 294M 93 277M 0 0 5231k 0 0:00:57 0:00:54 0:00:03 7840k 95 294M 95 280M 0 0 5207k 0 0:00:57 0:00:55 0:00:02 7187k 96 294M 96 285M 0 0 5196k 0 0:00:58 0:00:56 0:00:02 6558k 98 294M 98 290M 0 0 5198k 0 0:00:58 0:00:57 0:00:01 5939k 99 294M 99 294M 0 0 5183k 0 0:00:58 0:00:58 --:--:-- 4976k 100 294M 100 294M 0 0 5183k 0 0:00:58 0:00:58 --:--:-- 4530k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/riscv64/gnu-plct-xthead +-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-xthead ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-xthead-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Mon Apr 8 23:43:25 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Mon Apr 8 23:43:25 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Mon Apr 8 23:43:26 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp39k8a0px ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp39k8a0px +Mon Apr 8 23:43:26 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp39k8a0px +Mon Apr 8 23:43:27 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp39k8a0px ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Mon Apr 8 23:43:29 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-08-23_44_40.log b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-08-23_44_40.log new file mode 100644 index 00000000..e4d36df2 --- /dev/null +++ b/20240408/logs/archlinux_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-08-23_44_40.log @@ -0,0 +1,293 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Mon Apr 8 23:44:40 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:44:41 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Mon Apr 8 23:44:42 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpeu6bf9lk ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpeu6bf9lk ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 20.8M 2 459k 0 0 937k 0 0:00:22 --:--:-- 0:00:22 936k 11 20.8M 11 2491k 0 0 1664k 0 0:00:12 0:00:01 0:00:11 1664k 19 20.8M 19 4107k 0 0 1646k 0 0:00:12 0:00:02 0:00:10 1646k 26 20.8M 26 5611k 0 0 1606k 0 0:00:13 0:00:03 0:00:10 1606k 32 20.8M 32 6923k 0 0 1541k 0 0:00:13 0:00:04 0:00:09 1541k 33 20.8M 33 7163k 0 0 1304k 0 0:00:16 0:00:05 0:00:11 1340k 34 20.8M 34 7355k 0 0 1126k 0 0:00:18 0:00:06 0:00:12 966k 35 20.8M 35 7499k 0 0 999k 0 0:00:21 0:00:07 0:00:14 677k 36 20.8M 36 7723k 0 0 908k 0 0:00:23 0:00:08 0:00:15 421k 37 20.8M 37 7947k 0 0 834k 0 0:00:25 0:00:09 0:00:16 203k 37 20.8M 37 8043k 0 0 766k 0 0:00:27 0:00:10 0:00:17 175k 38 20.8M 38 8235k 0 0 715k 0 0:00:29 0:00:11 0:00:18 176k 39 20.8M 39 8395k 0 0 672k 0 0:00:31 0:00:12 0:00:19 179k 40 20.8M 40 8619k 0 0 637k 0 0:00:33 0:00:13 0:00:20 178k 41 20.8M 41 8843k 0 0 610k 0 0:00:35 0:00:14 0:00:21 180k 42 20.8M 42 9099k 0 0 586k 0 0:00:36 0:00:15 0:00:21 209k 43 20.8M 43 9291k 0 0 563k 0 0:00:37 0:00:16 0:00:21 211k 44 20.8M 44 9563k 0 0 546k 0 0:00:39 0:00:17 0:00:22 232k 45 20.8M 45 9819k 0 0 531k 0 0:00:40 0:00:18 0:00:22 241k 47 20.8M 47 9.8M 0 0 517k 0 0:00:41 0:00:19 0:00:22 248k 48 20.8M 48 10.1M 0 0 507k 0 0:00:42 0:00:20 0:00:22 263k 49 20.8M 49 10.3M 0 0 490k 0 0:00:43 0:00:21 0:00:22 252k 50 20.8M 50 10.4M 0 0 476k 0 0:00:44 0:00:22 0:00:22 233k 51 20.8M 51 10.7M 0 0 467k 0 0:00:45 0:00:23 0:00:22 233k 52 20.8M 52 11.0M 0 0 460k 0 0:00:46 0:00:24 0:00:22 237k 53 20.8M 53 11.1M 0 0 447k 0 0:00:47 0:00:25 0:00:22 200k 55 20.8M 55 11.5M 0 0 447k 0 0:00:47 0:00:26 0:00:21 259k 60 20.8M 60 12.6M 0 0 472k 0 0:00:45 0:00:27 0:00:18 453k 69 20.8M 69 14.4M 0 0 519k 0 0:00:41 0:00:28 0:00:13 762k 79 20.8M 79 16.6M 0 0 577k 0 0:00:37 0:00:29 0:00:08 1153k 87 20.8M 87 18.3M 0 0 615k 0 0:00:34 0:00:30 0:00:04 1477k 96 20.8M 96 20.1M 0 0 656k 0 0:00:32 0:00:31 0:00:01 1767k 100 20.8M 100 20.8M 0 0 670k 0 0:00:31 0:00:31 --:--:-- 1902k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Mon Apr 8 23:45:22 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Mon Apr 8 23:45:22 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -n '' ']' ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 294M 0 58349 0 0 170k 0 0:29:31 --:--:-- 0:29:31 170k 0 294M 0 1389k 0 0 1055k 0 0:04:45 0:00:01 0:04:44 1055k 0 294M 0 2813k 0 0 1214k 0 0:04:08 0:00:02 0:04:06 1215k 1 294M 1 4317k 0 0 1223k 0 0:04:06 0:00:03 0:04:03 1223k 1 294M 1 5805k 0 0 1345k 0 0:03:44 0:00:04 0:03:40 1345k 2 294M 2 7133k 0 0 1340k 0 0:03:45 0:00:05 0:03:40 1418k 2 294M 2 8829k 0 0 1397k 0 0:03:36 0:00:06 0:03:30 1487k 3 294M 3 10.2M 0 0 1426k 0 0:03:31 0:00:07 0:03:24 1525k 4 294M 4 12.1M 0 0 1498k 0 0:03:21 0:00:08 0:03:13 1700k 4 294M 4 14.0M 0 0 1546k 0 0:03:15 0:00:09 0:03:06 1719k 5 294M 5 16.4M 0 0 1629k 0 0:03:05 0:00:10 0:02:55 1937k 6 294M 6 18.1M 0 0 1634k 0 0:03:04 0:00:11 0:02:53 1932k 6 294M 6 18.6M 0 0 1552k 0 0:03:14 0:00:12 0:03:02 1736k 6 294M 6 19.3M 0 0 1488k 0 0:03:22 0:00:13 0:03:09 1472k 6 294M 6 19.7M 0 0 1411k 0 0:03:33 0:00:14 0:03:19 1161k 6 294M 6 20.1M 0 0 1345k 0 0:03:44 0:00:15 0:03:29 758k 6 294M 6 20.3M 0 0 1277k 0 0:03:56 0:00:16 0:03:40 465k 7 294M 7 20.7M 0 0 1226k 0 0:04:06 0:00:17 0:03:49 422k 7 294M 7 21.0M 0 0 1175k 0 0:04:16 0:00:18 0:03:58 344k 7 294M 7 21.3M 0 0 1126k 0 0:04:27 0:00:19 0:04:08 319k 7 294M 7 21.6M 0 0 1089k 0 0:04:37 0:00:20 0:04:17 307k 7 294M 7 21.8M 0 0 1047k 0 0:04:48 0:00:21 0:04:27 297k 7 294M 7 21.9M 0 0 1007k 0 0:04:59 0:00:22 0:04:37 246k 7 294M 7 22.0M 0 0 963k 0 0:05:13 0:00:23 0:04:50 203k 7 294M 7 22.1M 0 0 930k 0 0:05:24 0:00:24 0:05:00 161k 7 294M 7 22.3M 0 0 898k 0 0:05:35 0:00:25 0:05:10 143k 7 294M 7 22.5M 0 0 875k 0 0:05:44 0:00:26 0:05:18 141k 7 294M 7 22.7M 0 0 852k 0 0:05:54 0:00:27 0:05:27 163k 7 294M 7 22.8M 0 0 825k 0 0:06:05 0:00:28 0:05:37 160k 7 294M 7 22.9M 0 0 800k 0 0:06:16 0:00:29 0:05:47 172k 7 294M 7 23.1M 0 0 779k 0 0:06:27 0:00:30 0:05:57 160k 7 294M 7 23.2M 0 0 761k 0 0:06:36 0:00:31 0:06:05 159k 7 294M 7 23.4M 0 0 743k 0 0:06:46 0:00:32 0:06:14 144k 7 294M 7 23.5M 0 0 722k 0 0:06:58 0:00:33 0:06:25 147k 8 294M 8 23.6M 0 0 704k 0 0:07:08 0:00:34 0:06:34 143k 8 294M 8 23.7M 0 0 684k 0 0:07:21 0:00:35 0:06:46 123k 8 294M 8 23.8M 0 0 672k 0 0:07:29 0:00:36 0:06:53 112k 8 294M 8 23.9M 0 0 656k 0 0:07:39 0:00:37 0:07:02 98304 8 294M 8 24.4M 0 0 652k 0 0:07:42 0:00:38 0:07:04 182k 8 294M 8 25.1M 0 0 654k 0 0:07:41 0:00:39 0:07:02 309k 8 294M 8 25.8M 0 0 656k 0 0:07:39 0:00:40 0:06:59 452k 9 294M 9 26.8M 0 0 665k 0 0:07:33 0:00:41 0:06:52 614k 9 294M 9 28.5M 0 0 689k 0 0:07:17 0:00:42 0:06:35 940k 10 294M 10 30.7M 0 0 727k 0 0:06:55 0:00:43 0:06:12 1296k 11 294M 11 33.5M 0 0 776k 0 0:06:28 0:00:44 0:05:44 1732k 12 294M 12 37.0M 0 0 837k 0 0:06:00 0:00:45 0:05:15 2294k 13 294M 13 40.8M 0 0 903k 0 0:05:34 0:00:46 0:04:48 2873k 14 294M 14 44.1M 0 0 954k 0 0:05:16 0:00:47 0:04:29 3184k 15 294M 15 46.2M 0 0 981k 0 0:05:07 0:00:48 0:04:19 3180k 16 294M 16 48.9M 0 0 1016k 0 0:04:57 0:00:49 0:04:08 3142k 17 294M 17 51.3M 0 0 1045k 0 0:04:48 0:00:50 0:03:58 2934k 18 294M 18 54.2M 0 0 1082k 0 0:04:38 0:00:51 0:03:47 2734k 19 294M 19 57.4M 0 0 1124k 0 0:04:28 0:00:52 0:03:36 2737k 20 294M 20 61.1M 0 0 1174k 0 0:04:16 0:00:53 0:03:23 3047k 21 294M 21 64.4M 0 0 1214k 0 0:04:08 0:00:54 0:03:14 3167k 22 294M 22 67.3M 0 0 1246k 0 0:04:02 0:00:55 0:03:07 3270k 23 294M 23 70.5M 0 0 1283k 0 0:03:55 0:00:56 0:02:59 3351k 24 294M 24 73.1M 0 0 1306k 0 0:03:51 0:00:57 0:02:54 3206k 25 294M 25 75.6M 0 0 1327k 0 0:03:47 0:00:58 0:02:49 2959k 26 294M 26 76.6M 0 0 1323k 0 0:03:48 0:00:59 0:02:49 2509k 26 294M 26 77.1M 0 0 1308k 0 0:03:50 0:01:00 0:02:50 1985k 26 294M 26 77.4M 0 0 1293k 0 0:03:53 0:01:01 0:02:52 1410k 26 294M 26 78.5M 0 0 1290k 0 0:03:53 0:01:02 0:02:51 1114k 27 294M 27 80.2M 0 0 1298k 0 0:03:52 0:01:03 0:02:49 956k 28 294M 28 82.6M 0 0 1315k 0 0:03:49 0:01:04 0:02:45 1216k 28 294M 28 85.4M 0 0 1338k 0 0:03:45 0:01:05 0:02:40 1708k 29 294M 29 88.1M 0 0 1360k 0 0:03:41 0:01:06 0:02:35 2184k 31 294M 31 91.6M 0 0 1393k 0 0:03:36 0:01:07 0:02:29 2686k 31 294M 31 94.0M 0 0 1409k 0 0:03:34 0:01:08 0:02:26 2809k 32 294M 32 94.4M 0 0 1395k 0 0:03:36 0:01:09 0:02:27 2430k 32 294M 32 94.8M 0 0 1381k 0 0:03:38 0:01:10 0:02:28 1932k 32 294M 32 95.1M 0 0 1365k 0 0:03:41 0:01:11 0:02:30 1426k 32 294M 32 95.3M 0 0 1349k 0 0:03:43 0:01:12 0:02:31 757k 32 294M 32 95.7M 0 0 1336k 0 0:03:45 0:01:13 0:02:32 348k 32 294M 32 95.9M 0 0 1322k 0 0:03:48 0:01:14 0:02:34 310k 32 294M 32 96.2M 0 0 1308k 0 0:03:50 0:01:15 0:02:35 287k 32 294M 32 96.4M 0 0 1294k 0 0:03:53 0:01:16 0:02:37 282k 32 294M 32 96.6M 0 0 1280k 0 0:03:55 0:01:17 0:02:38 275k 32 294M 32 96.8M 0 0 1265k 0 0:03:58 0:01:18 0:02:40 223k 32 294M 32 96.9M 0 0 1251k 0 0:04:01 0:01:19 0:02:42 191k 32 294M 32 97.2M 0 0 1239k 0 0:04:03 0:01:20 0:02:43 198k 33 294M 33 97.6M 0 0 1229k 0 0:04:05 0:01:21 0:02:44 243k 33 294M 33 97.9M 0 0 1218k 0 0:04:07 0:01:22 0:02:45 266k 33 294M 33 98.1M 0 0 1205k 0 0:04:10 0:01:23 0:02:47 267k 33 294M 33 98.2M 0 0 1190k 0 0:04:13 0:01:24 0:02:49 253k 33 294M 33 98.3M 0 0 1179k 0 0:04:15 0:01:25 0:02:50 227k 33 294M 33 98.7M 0 0 1171k 0 0:04:17 0:01:26 0:02:51 217k 33 294M 33 99.2M 0 0 1163k 0 0:04:19 0:01:27 0:02:52 250k 33 294M 33 99.5M 0 0 1153k 0 0:04:21 0:01:28 0:02:53 289k 33 294M 33 99.8M 0 0 1144k 0 0:04:23 0:01:29 0:02:54 341k 34 294M 34 100M 0 0 1139k 0 0:04:24 0:01:30 0:02:54 449k 34 294M 34 101M 0 0 1141k 0 0:04:24 0:01:31 0:02:53 630k 35 294M 35 103M 0 0 1148k 0 0:04:22 0:01:32 0:02:50 892k 35 294M 35 104M 0 0 1145k 0 0:04:23 0:01:33 0:02:50 1005k 35 294M 35 104M 0 0 1138k 0 0:04:25 0:01:34 0:02:51 1037k 35 294M 35 105M 0 0 1135k 0 0:04:25 0:01:35 0:02:50 1053k 36 294M 36 106M 0 0 1136k 0 0:04:25 0:01:36 0:02:49 1039k 36 294M 36 108M 0 0 1141k 0 0:04:24 0:01:37 0:02:47 1002k 37 294M 37 110M 0 0 1150k 0 0:04:22 0:01:38 0:02:44 1233k 37 294M 37 111M 0 0 1153k 0 0:04:21 0:01:39 0:02:42 1436k 38 294M 38 113M 0 0 1163k 0 0:04:19 0:01:40 0:02:39 1705k 39 294M 39 116M 0 0 1177k 0 0:04:16 0:01:41 0:02:35 1977k 40 294M 40 118M 0 0 1187k 0 0:04:14 0:01:42 0:02:32 2085k 40 294M 40 120M 0 0 1191k 0 0:04:13 0:01:43 0:02:30 1996k 41 294M 41 121M 0 0 1193k 0 0:04:12 0:01:44 0:02:28 1988k 41 294M 41 122M 0 0 1192k 0 0:04:13 0:01:45 0:02:28 1777k 42 294M 42 123M 0 0 1193k 0 0:04:12 0:01:46 0:02:26 1510k 42 294M 42 125M 0 0 1192k 0 0:04:13 0:01:47 0:02:26 1302k 42 294M 42 126M 0 0 1193k 0 0:04:12 0:01:48 0:02:24 1235k 43 294M 43 128M 0 0 1200k 0 0:04:11 0:01:49 0:02:22 1348k 44 294M 44 130M 0 0 1209k 0 0:04:09 0:01:50 0:02:19 1569k 44 294M 44 132M 0 0 1215k 0 0:04:08 0:01:51 0:02:17 1678k 45 294M 45 134M 0 0 1229k 0 0:04:05 0:01:52 0:02:13 2026k 46 294M 46 137M 0 0 1241k 0 0:04:03 0:01:53 0:02:10 2275k 47 294M 47 139M 0 0 1248k 0 0:04:01 0:01:54 0:02:07 2303k 48 294M 48 141M 0 0 1257k 0 0:04:00 0:01:55 0:02:05 2304k 48 294M 48 144M 0 0 1268k 0 0:03:58 0:01:56 0:02:02 2465k 49 294M 49 147M 0 0 1283k 0 0:03:55 0:01:57 0:01:58 2498k 51 294M 51 150M 0 0 1305k 0 0:03:51 0:01:58 0:01:53 2755k 52 294M 52 154M 0 0 1324k 0 0:03:47 0:01:59 0:01:48 3050k 53 294M 53 157M 0 0 1339k 0 0:03:45 0:02:00 0:01:45 3241k 54 294M 54 159M 0 0 1343k 0 0:03:44 0:02:01 0:01:43 3099k 54 294M 54 159M 0 0 1337k 0 0:03:45 0:02:02 0:01:43 2601k 54 294M 54 160M 0 0 1330k 0 0:03:46 0:02:03 0:01:43 1928k 54 294M 54 160M 0 0 1321k 0 0:03:48 0:02:04 0:01:44 1248k 54 294M 54 160M 0 0 1312k 0 0:03:49 0:02:05 0:01:44 668k 54 294M 54 160M 0 0 1304k 0 0:03:51 0:02:06 0:01:45 355k 54 294M 54 161M 0 0 1296k 0 0:03:52 0:02:07 0:01:45 296k 54 294M 54 161M 0 0 1288k 0 0:03:54 0:02:08 0:01:46 252k 54 294M 54 161M 0 0 1280k 0 0:03:55 0:02:09 0:01:46 265k 54 294M 54 162M 0 0 1273k 0 0:03:57 0:02:10 0:01:47 275k 55 294M 55 162M 0 0 1266k 0 0:03:58 0:02:11 0:01:47 306k 55 294M 55 162M 0 0 1259k 0 0:03:59 0:02:12 0:01:47 300k 55 294M 55 162M 0 0 1250k 0 0:04:01 0:02:13 0:01:48 287k 55 294M 55 163M 0 0 1243k 0 0:04:02 0:02:14 0:01:48 291k 55 294M 55 163M 0 0 1236k 0 0:04:04 0:02:15 0:01:49 284k 55 294M 55 163M 0 0 1230k 0 0:04:05 0:02:16 0:01:49 265k 55 294M 55 164M 0 0 1224k 0 0:04:06 0:02:17 0:01:49 308k 55 294M 55 164M 0 0 1218k 0 0:04:07 0:02:18 0:01:49 359k 55 294M 55 164M 0 0 1212k 0 0:04:09 0:02:19 0:01:50 368k 56 294M 56 165M 0 0 1205k 0 0:04:10 0:02:20 0:01:50 357k 56 294M 56 165M 0 0 1197k 0 0:04:12 0:02:21 0:01:51 324k 56 294M 56 165M 0 0 1192k 0 0:04:13 0:02:22 0:01:51 310k 56 294M 56 166M 0 0 1192k 0 0:04:13 0:02:23 0:01:50 464k 57 294M 57 168M 0 0 1196k 0 0:04:12 0:02:24 0:01:48 742k 57 294M 57 170M 0 0 1203k 0 0:04:10 0:02:25 0:01:45 1161k 58 294M 58 172M 0 0 1204k 0 0:04:10 0:02:26 0:01:44 1405k 59 294M 59 174M 0 0 1213k 0 0:04:08 0:02:27 0:01:41 1808k 60 294M 60 177M 0 0 1224k 0 0:04:06 0:02:28 0:01:38 2147k 61 294M 61 179M 0 0 1233k 0 0:04:04 0:02:29 0:01:35 2326k 62 294M 62 182M 0 0 1246k 0 0:04:02 0:02:30 0:01:32 2498k 63 294M 63 185M 0 0 1257k 0 0:04:00 0:02:31 0:01:29 2800k 63 294M 63 187M 0 0 1259k 0 0:03:59 0:02:32 0:01:27 2628k 63 294M 63 187M 0 0 1254k 0 0:04:00 0:02:33 0:01:27 2129k 63 294M 63 187M 0 0 1247k 0 0:04:02 0:02:34 0:01:28 1639k 63 294M 63 188M 0 0 1241k 0 0:04:03 0:02:35 0:01:28 1077k 63 294M 63 188M 0 0 1235k 0 0:04:04 0:02:36 0:01:28 568k 64 294M 64 188M 0 0 1228k 0 0:04:05 0:02:37 0:01:28 295k 64 294M 64 189M 0 0 1222k 0 0:04:06 0:02:38 0:01:28 261k 64 294M 64 189M 0 0 1216k 0 0:04:08 0:02:39 0:01:29 264k 64 294M 64 189M 0 0 1210k 0 0:04:09 0:02:40 0:01:29 265k 64 294M 64 189M 0 0 1205k 0 0:04:10 0:02:41 0:01:29 268k 64 294M 64 190M 0 0 1199k 0 0:04:11 0:02:42 0:01:29 273k 64 294M 64 190M 0 0 1194k 0 0:04:12 0:02:43 0:01:29 298k 64 294M 64 190M 0 0 1188k 0 0:04:14 0:02:44 0:01:30 299k 65 294M 65 191M 0 0 1188k 0 0:04:13 0:02:45 0:01:28 483k 65 294M 65 193M 0 0 1194k 0 0:04:12 0:02:46 0:01:26 830k 66 294M 66 196M 0 0 1200k 0 0:04:11 0:02:47 0:01:24 1234k 67 294M 67 197M 0 0 1204k 0 0:04:10 0:02:48 0:01:22 1522k 67 294M 67 200M 0 0 1209k 0 0:04:09 0:02:49 0:01:20 1914k 68 294M 68 202M 0 0 1215k 0 0:04:08 0:02:50 0:01:18 2103k 69 294M 69 203M 0 0 1219k 0 0:04:07 0:02:51 0:01:16 2062k 69 294M 69 206M 0 0 1224k 0 0:04:06 0:02:52 0:01:14 2016k 70 294M 70 207M 0 0 1228k 0 0:04:05 0:02:53 0:01:12 2054k 71 294M 71 209M 0 0 1231k 0 0:04:05 0:02:54 0:01:11 1979k 71 294M 71 211M 0 0 1235k 0 0:04:04 0:02:55 0:01:09 1910k 72 294M 72 213M 0 0 1241k 0 0:04:03 0:02:56 0:01:07 2015k 73 294M 73 216M 0 0 1251k 0 0:04:01 0:02:57 0:01:04 2198k 74 294M 74 219M 0 0 1260k 0 0:03:59 0:02:58 0:01:01 2355k 75 294M 75 221M 0 0 1265k 0 0:03:58 0:02:59 0:00:59 2432k 75 294M 75 223M 0 0 1270k 0 0:03:57 0:03:00 0:00:57 2500k 76 294M 76 225M 0 0 1274k 0 0:03:56 0:03:01 0:00:55 2434k 77 294M 77 227M 0 0 1276k 0 0:03:56 0:03:02 0:00:54 2156k 77 294M 77 229M 0 0 1281k 0 0:03:55 0:03:03 0:00:52 2051k 78 294M 78 232M 0 0 1289k 0 0:03:54 0:03:04 0:00:50 2159k 79 294M 79 234M 0 0 1295k 0 0:03:53 0:03:05 0:00:48 2194k 80 294M 80 236M 0 0 1299k 0 0:03:52 0:03:06 0:00:46 2207k 81 294M 81 239M 0 0 1306k 0 0:03:51 0:03:07 0:00:44 2412k 81 294M 81 241M 0 0 1311k 0 0:03:50 0:03:08 0:00:42 2382k 82 294M 82 243M 0 0 1315k 0 0:03:49 0:03:09 0:00:40 2266k 83 294M 83 245M 0 0 1320k 0 0:03:48 0:03:10 0:00:38 2253k 83 294M 83 247M 0 0 1323k 0 0:03:48 0:03:11 0:00:37 2201k 84 294M 84 249M 0 0 1328k 0 0:03:47 0:03:12 0:00:35 2142k 85 294M 85 250M 0 0 1329k 0 0:03:47 0:03:13 0:00:34 2017k 85 294M 85 252M 0 0 1333k 0 0:03:46 0:03:14 0:00:32 2003k 86 294M 86 255M 0 0 1340k 0 0:03:45 0:03:15 0:00:30 2098k 87 294M 87 258M 0 0 1346k 0 0:03:44 0:03:16 0:00:28 2246k 88 294M 88 260M 0 0 1353k 0 0:03:43 0:03:17 0:00:26 2324k 89 294M 89 264M 0 0 1363k 0 0:03:41 0:03:18 0:00:23 2688k 90 294M 90 266M 0 0 1371k 0 0:03:40 0:03:19 0:00:21 2844k 91 294M 91 269M 0 0 1379k 0 0:03:38 0:03:20 0:00:18 2925k 92 294M 92 272M 0 0 1387k 0 0:03:37 0:03:21 0:00:16 2965k 93 294M 93 275M 0 0 1393k 0 0:03:36 0:03:22 0:00:14 2974k 94 294M 94 278M 0 0 1402k 0 0:03:35 0:03:23 0:00:12 2933k 95 294M 95 280M 0 0 1404k 0 0:03:34 0:03:24 0:00:10 2729k 95 294M 95 282M 0 0 1411k 0 0:03:33 0:03:25 0:00:08 2678k 96 294M 96 285M 0 0 1417k 0 0:03:32 0:03:26 0:00:06 2652k 97 294M 97 286M 0 0 1414k 0 0:03:33 0:03:27 0:00:06 2243k 97 294M 97 288M 0 0 1418k 0 0:03:32 0:03:28 0:00:04 2090k 98 294M 98 288M 0 0 1413k 0 0:03:33 0:03:29 0:00:04 1791k 98 294M 98 291M 0 0 1420k 0 0:03:32 0:03:30 0:00:02 1785k 100 294M 100 294M 0 0 1429k 0 0:03:31 0:03:31 --:--:-- 1908k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n '' ']' ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Mon Apr 8 23:51:07 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Mon Apr 8 23:51:07 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Mon Apr 8 23:51:08 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpeu6bf9lk ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeu6bf9lk +Mon Apr 8 23:51:08 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeu6bf9lk +Mon Apr 8 23:51:09 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeu6bf9lk ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Mon Apr 8 23:51:15 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_admin/2024-04-11-03_47_19.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_admin/2024-04-11-03_47_19.log new file mode 100644 index 00000000..f93954d3 --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_admin/2024-04-11-03_47_19.log @@ -0,0 +1,205 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:47:19 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:47:19 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:47:19 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:47:20 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 16 23.7M 16 3899k 0 0 47.2M 0 --:--:-- --:--:-- --:--:-- 47.0M 100 23.7M 100 23.7M 0 0 69.1M 0 --:--:-- --:--:-- --:--:-- 69.0M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:47:21 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:47:21 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:47:23 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:47:23 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:47:23 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:47:23 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:47:23 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_binaries/2024-04-11-03_50_41.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_binaries/2024-04-11-03_50_41.log new file mode 100644 index 00000000..627d205f --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_binaries/2024-04-11-03_50_41.log @@ -0,0 +1,2958 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:50:41 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:50:41 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:50:42 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:50:43 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 76.6M 0 --:--:-- --:--:-- --:--:-- 76.8M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:50:43 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:50:43 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% +(215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% +(244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% +(274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% +(303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: +45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: +49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting +objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% +(443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% +(473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% +(502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% +(532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% +(561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: +80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting +objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% +(672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% +(94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: +34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 11 232M 11 27.1M 0 0 45.1M 0 0:00:05 --:--:-- 0:00:05 45.1M 26 232M 26 62.3M 0 0 38.9M 0 0:00:05 0:00:01 0:00:04 38.9M 46 232M 46 107M 0 0 41.3M 0 0:00:05 0:00:02 0:00:03 41.3M 69 232M 69 162M 0 0 45.0M 0 0:00:05 0:00:03 0:00:02 45.0M 100 232M 100 232M 0 0 52.4M 0 0:00:04 0:00:04 --:--:-- 52.4M +info: extracting +RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package +gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 11 232M 11 27.1M 0 0 45.1M 0 0:00:05 --:--:-- 0:00:05 $'45.1M\r' 26 232M 26 62.3M 0 0 38.9M 0 0:00:05 0:00:01 0:00:04 $'38.9M\r' 46 232M 46 107M 0 0 41.3M 0 0:00:05 0:00:02 0:00:03 $'41.3M\r' 69 232M 69 162M 0 0 45.0M 0 0:00:05 0:00:03 0:00:02 $'45.0M\r100' 232M 100 232M 0 0 52.4M 0 0:00:04 0:00:04 --:--:-- 52.4M info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 +++ awk '{print $NF}' +++ tail -n 1 ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 11 232M 11 27.1M 0 0 45.1M 0 0:00:05 --:--:-- 0:00:05 $'45.1M\r' 26 232M 26 62.3M 0 0 38.9M 0 0:00:05 0:00:01 0:00:04 $'38.9M\r' 46 232M 46 107M 0 0 41.3M 0 0:00:05 0:00:02 0:00:03 $'41.3M\r' 69 232M 69 162M 0 0 45.0M 0 0:00:05 0:00:03 0:00:02 $'45.0M\r100' 232M 100 232M 0 0 52.4M 0 0:00:04 0:00:04 --:--:-- 52.4M info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=51d9b330194b9867afb706b7611e02f9293fe3be, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00007ffc8652d000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f8f6479f000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f8f645bd000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f8f648ba000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d1dca52f0b53dd6d6e1a398fff97bf6a24ed2b6e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00007ffdf7ba9000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f2924121000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f2923f3f000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f2924244000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7671387815a715ccf29413e6ebd2d694ef4fd9ad, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00007ffd36594000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f560cb15000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f560c933000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f560ccc6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00007fff934f9000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f1416214000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f141640a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46ec6178fe7407f1c90cd30bb536558171a92e3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffd1accc000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007ff6413d0000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007ff6411ee000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff6414f3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=240b045dd7361e3c4bc5007cc8a3498c2d283408, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffe51d8e000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fde46a94000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fde46c8a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep executable ++ grep dynamic ++ grep ELF ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=33d699b0253e2c2bb40e6cfd086bc66a59d99e2c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffc69185000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fc9a2d5e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fc9a2f60000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffef1792000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f82e0412000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f82e0608000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffe861d0000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f2cea1bf000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f2cea3b5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00007ffe1497e000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fe49e9fa000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fe49ebf0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93fc5f76c74612a9d0ce7afbc1cd9e42d09dcf1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffd4e5cc000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fea9bc74000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fea9be6a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1b7ab8553679997bbad242148fd744e0431b0318, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffc63529000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007ff6f63bf000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff6f65b5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9b9816acb73f92f5a898ec65ca3d74a90d820a84, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007fff5130d000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fd51951b000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd519711000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e57b5d44de252010151d77f4323ad763e9523ce3, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00007fff42de1000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f788159f000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f7881795000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep dynamic ++ grep ELF ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b1fd99fe236a5513419295efe1dd3fe7d738f228, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffd935bc000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fefb3f7f000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fefb4175000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6160a5965fccd5c42347d644843e1dd0b94418ae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffd8ddb1000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f6b7b87d000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f6b7ba73000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f27038640ed4ca1647aceff925831111b4de5e1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x00007fff38365000) + libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007fcef8eb1000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fcef8eac000) + liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007fcef8e79000) + libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fcef8000000) + libm.so.6 => /usr/lib/libm.so.6 (0x00007fcef8314000) + libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fcef8e52000) + libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fcef8e4d000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fcef7e1e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fcef8f3c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bba2a4aa398576037d78bd7f2d67d84183ca7474, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffe27999000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f05f3ec4000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f05f40ba000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=81368607ab7d7e9fc93c70c1a5085ca8cf7d2551, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffd39919000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007ff139b51000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007ff13996f000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff139c7d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00007fffe3973000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fa31e8ce000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fa31e21e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fa31e8e7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffcf6b6d000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f0e202a1000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f0e1fc1e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f0e202ba000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=07e0cdeb46eb6749e40f39f886240ec56b077414, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffd5d838000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f1d97411000) + libm.so.6 => /usr/lib/libm.so.6 (0x00007f1d97325000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f1d97143000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1d9742a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7dc2121143a8baa649992b794106a7e3e33d025c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00007fff0a5c9000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007ff6b0d77000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007ff6b0b95000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff6b0e96000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=25a334917a579d527a1d3c7d5f1d986453d61b03, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00007fff8393d000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f9cb6e90000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f9cb6cae000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f9cb6fcf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3791c1a2ba627af0f6c6dd2e87ae4a7ea7418f23, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00007fff84cac000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f43d0f9c000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f43d0dba000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f43d118c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=86b327b66ff5317f621853e5dc663a194ab1c964, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00007fffc74c6000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f301b384000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f301b1a2000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f301b4a7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=94b11b905c3c381dda1f368cf17dea43ae3a4654, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00007fff3c1c6000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f923228a000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f923257f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9fe6ce808fc54654b1ba0be4f8161de2f6cd2abf, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00007ffe8a9fa000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f455478f000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f45545ad000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f45548ab000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=adfc3905c2628c9867e65a37ef119cfdbe73cf89, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00007fff419bc000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fcdf44fc000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fcdf431a000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fcdf4618000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3c95f10b97c64370dca4b055b3c48aed500f13b6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00007fff0d5c4000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f25cd6ee000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f25cd50c000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f25cd82d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 21 308M 21 67.7M 0 0 77.3M 0 0:00:03 --:--:-- 0:00:03 77.2M 53 308M 53 163M 0 0 87.2M 0 0:00:03 0:00:01 0:00:02 87.1M 85 308M 85 263M 0 0 91.6M 0 0:00:03 0:00:02 0:00:01 91.6M 100 308M 100 308M 0 0 91.6M 0 0:00:03 0:00:03 --:--:-- 91.7M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 21 308M 21 67.7M 0 0 77.3M 0 0:00:03 --:--:-- 0:00:03 $'77.2M\r' 53 308M 53 163M 0 0 87.2M 0 0:00:03 0:00:01 0:00:02 $'87.1M\r' 85 308M 85 263M 0 0 91.6M 0 0:00:03 0:00:02 0:00:01 $'91.6M\r100' 308M 100 308M 0 0 91.6M 0 0:00:03 0:00:03 --:--:-- 91.7M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=222 ++ bpb=222/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 21 308M 21 67.7M 0 0 77.3M 0 0:00:03 --:--:-- 0:00:03 $'77.2M\r' 53 308M 53 163M 0 0 87.2M 0 0:00:03 0:00:01 0:00:02 $'87.1M\r' 85 308M 85 263M 0 0 91.6M 0 0:00:03 0:00:02 0:00:01 $'91.6M\r100' 308M 100 308M 0 0 91.6M 0 0:00:03 0:00:03 --:--:-- 91.7M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 222 ']' ++ '[' '!' -d 222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 18 238M 18 44.3M 0 0 68.2M 0 0:00:03 --:--:-- 0:00:03 68.1M 28 238M 28 69.1M 0 0 35.8M 0 0:00:06 0:00:01 0:00:05 35.8M 56 238M 56 134M 0 0 50.8M 0 0:00:04 0:00:02 0:00:02 50.8M 86 238M 86 207M 0 0 56.7M 0 0:00:04 0:00:03 0:00:01 56.7M 100 238M 100 238M 0 0 52.8M 0 0:00:04 0:00:04 --:--:-- 52.8M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 18 238M 18 44.3M 0 0 68.2M 0 0:00:03 --:--:-- 0:00:03 $'68.1M\r' 28 238M 28 69.1M 0 0 35.8M 0 0:00:06 0:00:01 0:00:05 $'35.8M\r' 56 238M 56 134M 0 0 50.8M 0 0:00:04 0:00:02 0:00:02 $'50.8M\r' 86 238M 86 207M 0 0 56.7M 0 0:00:04 0:00:03 0:00:01 $'56.7M\r100' 238M 100 238M 0 0 52.8M 0 0:00:04 0:00:04 --:--:-- 52.8M info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 18 238M 18 44.3M 0 0 68.2M 0 0:00:03 --:--:-- 0:00:03 $'68.1M\r' 28 238M 28 69.1M 0 0 35.8M 0 0:00:06 0:00:01 0:00:05 $'35.8M\r' 56 238M 56 134M 0 0 50.8M 0 0:00:04 0:00:02 0:00:02 $'50.8M\r' 86 238M 86 207M 0 0 56.7M 0 0:00:04 0:00:03 0:00:01 $'56.7M\r100' 238M 100 238M 0 0 52.8M 0 0:00:04 0:00:04 --:--:-- 52.8M info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep executable ++ grep ELF ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0ff86e2800f7e11a3128e567a2d8b000cbf4a713, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x00007ffdf2990000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fbdffeab000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fbdffcc9000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fbdfffe6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2175afe16c672249f8fd4db8a7032c7f4f89a2af, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00007fff2d3f4000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fa27bc07000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fa27ba25000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fa27bd49000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73da7e46ec0c9cae37a62209630b1ad35bfab6b7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00007fffcbf91000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007ff6c6007000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007ff6c5e25000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff6c61f5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffc28fdc000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fdbb531b000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fdbb5511000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a13377b5b9f486ad8611315353362c659052be30, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffc114b5000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fd83d2f5000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fd83d113000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd83d437000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=72577a0fc73c81cc30e3f54daf7d2e6ac16827ba, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffc065c6000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fae4c520000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fae4c716000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep executable ++ grep ELF ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c566a5bada78e0b87b97ae9c33d6f4ac8b9e2ebb, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffd2c1e2000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fcc88b43000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fcc88d45000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffff32fb000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fb873989000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fb873b7f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffe25ffc000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f87b04db000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f87b06d1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00007ffc45595000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fd4fdc50000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd4fde46000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f758862ad25799082d6a801946bd5a68c1adf0ef, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffc8cfe5000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f1720c94000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1720e8a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b979aa47138752a4f812e2640cbf1790e940ec46, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffe85584000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007ff348abf000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff348cb5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e8d26a705fcdfaec505495eb0b88bca472cd3a9d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffda84dd000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f26dc213000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f26dc409000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ebc219e73811ca8a6a46ac5ee0e73dcb78b3139c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00007fffd63ab000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fea34349000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fea3453f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=82b6b95e63c1d541743068f0ef8737a24f9b28d9, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffcd4b16000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f117001a000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1170210000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=022ab27b710146427a2f09b4c72f915b5cfea96f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffe6ea91000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f1dbda3f000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1dbdc35000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5063ceae8548251c7fe77b887db847500500af0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x00007ffcb317a000) + libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007f5277747000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f5277742000) + liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f527770f000) + libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f5276800000) + libm.so.6 => /usr/lib/libm.so.6 (0x00007f5276b14000) + libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f52776e8000) + libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f52776e3000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f527661e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f52777d2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bd1481439adec32395663c8e8e2f48309095269, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffcdff1b000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f3c9e201000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f3c9e3f7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7ba75731dae53aa328f2e9be718cd018c43b9bfe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffe0cbca000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fcd48740000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fcd4855e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fcd48937000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00007fff32d37000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f9f47ed2000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f9f4781e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f9f47eeb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffca5d42000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fe3e3eb5000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fe3e381e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fe3e3ece000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=89135e7c6bb6f2c6ec334465f432a3334849ff39, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007fffea595000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f3f4cadd000) + libm.so.6 => /usr/lib/libm.so.6 (0x00007f3f4c9f1000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f3f4c80f000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f3f4caf6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a7f8774c46ba3b3fb4673d9afcf1f3ca5b7d81ed, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00007ffd8e342000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f67f98f3000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f67f9711000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f67f9a33000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bf929f4a25a483d3f39ec7a6e076a930258423e5, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffd43995000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fd2cf084000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fd2ceea2000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fd2cf1e4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=90ea9b74c2a07351f4850c027d8273369bc0f8de, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffd441ce000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f12ef4ee000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f12ef01e000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f12ef507000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep 'not found' ++ grep -vE '\(0x' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=32baa2fc2c2afb863110ce5be9cbfb534ed9ab3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00007fffb6f69000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f9479df9000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f9479c17000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f9479f3b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46a8f121c47196be8de92c76309f09efe41e2ff2, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00007fff36b20000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007fa38d9d7000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fa38dcd0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ grep executable ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3839019e395b24979c16ad2ef0474f548a7fa9fe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00007ffed5d0e000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f0a028d3000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f0a026f1000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f0a02a0e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1cf7f23ae18f661e32545c07e829d91557b1a347, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00007ffc1b46e000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f1520fd4000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007f1520df2000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1521110000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=24feb89de7b69ed47938f4bcefffe103bb1b055e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00007ffc1a3d0000) + libdl.so.2 => /usr/lib/libdl.so.2 (0x00007efe8e25b000) + libc.so.6 => /usr/lib/libc.so.6 (0x00007efe8e079000) + /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007efe8e3bb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 61 47.2M 61 29.2M 0 0 76.9M 0 --:--:-- --:--:-- --:--:-- 76.8M 100 47.2M 100 47.2M 0 0 83.9M 0 --:--:-- --:--:-- --:--:-- 83.9M +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 61 47.2M 61 29.2M 0 0 76.9M 0 --:--:-- --:--:-- --:--:-- $'76.8M\r100' 47.2M 100 47.2M 0 0 83.9M 0 --:--:-- --:--:-- --:--:-- 83.9M info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=3.0-ruyi.20240224 ++ bpb=3.0-ruyi.20240224/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 61 47.2M 61 29.2M 0 0 76.9M 0 --:--:-- --:--:-- --:--:-- $'76.8M\r100' 47.2M 100 47.2M 0 0 83.9M 0 --:--:-- --:--:-- --:--:-- 83.9M info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 3.0-ruyi.20240224 ']' ++ '[' '!' -d 3.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 11 398M 11 44.1M 0 0 94.1M 0 0:00:04 --:--:-- 0:00:04 94.0M 35 398M 35 142M 0 0 97.1M 0 0:00:04 0:00:01 0:00:03 97.1M 60 398M 60 241M 0 0 97.8M 0 0:00:04 0:00:02 0:00:02 97.7M 85 398M 85 341M 0 0 98.3M 0 0:00:04 0:00:03 0:00:01 98.2M 100 398M 100 398M 0 0 98.1M 0 0:00:04 0:00:04 --:--:-- 98.1M +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 11 398M 11 44.1M 0 0 94.1M 0 0:00:04 --:--:-- 0:00:04 $'94.0M\r' 35 398M 35 142M 0 0 97.1M 0 0:00:04 0:00:01 0:00:03 $'97.1M\r' 60 398M 60 241M 0 0 97.8M 0 0:00:04 0:00:02 0:00:02 $'97.7M\r' 85 398M 85 341M 0 0 98.3M 0 0:00:04 0:00:03 0:00:01 $'98.2M\r100' 398M 100 398M 0 0 98.1M 0 0:00:04 0:00:04 --:--:-- 98.1M info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=21 ++ bpb=21/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 11 398M 11 44.1M 0 0 94.1M 0 0:00:04 --:--:-- 0:00:04 $'94.0M\r' 35 398M 35 142M 0 0 97.1M 0 0:00:04 0:00:01 0:00:03 $'97.1M\r' 60 398M 60 241M 0 0 97.8M 0 0:00:04 0:00:02 0:00:02 $'97.7M\r' 85 398M 85 341M 0 0 98.3M 0 0:00:04 0:00:03 0:00:01 $'98.2M\r100' 398M 100 398M 0 0 98.1M 0 0:00:04 0:00:04 --:--:-- 98.1M info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 21 ']' ++ '[' '!' -d 21 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/llvm-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/llvm-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 3577k 100 3577k 0 0 39.6M 0 --:--:-- --:--:-- --:--:-- 40.1M +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r100' 3577k 100 3577k 0 0 39.6M 0 --:--:-- --:--:-- --:--:-- 40.1M info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=i.20231207+g03813c9fe8 ++ bpb=i.20231207+g03813c9fe8/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r100' 3577k 100 3577k 0 0 39.6M 0 --:--:-- --:--:-- --:--:-- 40.1M info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z i.20231207+g03813c9fe8 ']' ++ '[' '!' -d i.20231207+g03813c9fe8 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 55 14.5M 55 8338k 0 0 64.5M 0 --:--:-- --:--:-- --:--:-- 64.1M 100 14.5M 100 14.5M 0 0 75.7M 0 --:--:-- --:--:-- --:--:-- 75.5M +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 55 14.5M 55 8338k 0 0 64.5M 0 --:--:-- --:--:-- --:--:-- $'64.1M\r100' 14.5M 100 14.5M 0 0 75.7M 0 --:--:-- --:--:-- --:--:-- 75.5M info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=uyi.20240128 ++ bpb=uyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 55 14.5M 55 8338k 0 0 64.5M 0 --:--:-- --:--:-- --:--:-- $'64.1M\r100' 14.5M 100 14.5M 0 0 75.7M 0 --:--:-- --:--:-- --:--:-- 75.5M info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z uyi.20240128 ']' ++ '[' '!' -d uyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 +240128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 +28.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 82.3M 6 5087k 0 0 37.9M 0 0:00:02 --:--:-- 0:00:02 37.9M 100 82.3M 100 82.3M 0 0 77.9M 0 0:00:01 0:00:01 --:--:-- 77.9M +info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst +for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 +-ruyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 82.3M 6 5087k 0 0 37.9M 0 0:00:02 --:--:-- 0:00:02 $'37.9M\r100' 82.3M 100 82.3M 0 0 77.9M 0 0:00:01 0:00:01 --:--:-- 77.9M info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=-ruyi.20240128 ++ bpb=-ruyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 82.3M 6 5087k 0 0 37.9M 0 0:00:02 --:--:-- 0:00:02 $'37.9M\r100' 82.3M 100 82.3M 0 0 77.9M 0 0:00:01 0:00:01 --:--:-- 77.9M info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z -ruyi.20240128 ']' ++ '[' '!' -d -ruyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:52:14 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:52:14 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:52:14 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:52:14 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:52:20 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_cmake_ninja/2024-04-11-03_48_10.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_cmake_ninja/2024-04-11-03_48_10.log new file mode 100644 index 00000000..7fc895fe --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_cmake_ninja/2024-04-11-03_48_10.log @@ -0,0 +1,600 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:48:10 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:10 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:10 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:11 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 52 23.7M 52 12.5M 0 0 68.0M 0 --:--:-- --:--:-- --:--:-- 68.0M 100 23.7M 100 23.7M 0 0 77.2M 0 --:--:-- --:--:-- --:--:-- 77.0M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' +Thu Apr 11 03:48:12 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' +Thu Apr 11 03:48:12 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpt73oxek7 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpt73oxek7 ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:48:16 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:48:16 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 23 238M 23 56.5M 0 0 90.8M 0 0:00:02 --:--:-- 0:00:02 90.8M 66 238M 66 158M 0 0 97.6M 0 0:00:02 0:00:01 0:00:01 97.6M 92 238M 92 222M 0 0 68.2M 0 0:00:03 0:00:03 --:--:-- 68.2M 92 238M 92 222M 0 0 52.1M 0 0:00:04 0:00:04 --:--:-- 52.2M 93 238M 93 224M 0 0 41.3M 0 0:00:05 0:00:05 --:--:-- 41.3M 93 238M 93 224M 0 0 34.9M 0 0:00:06 0:00:06 --:--:-- 28.9M 93 238M 93 224M 0 0 30.2M 0 0:00:07 0:00:07 --:--:-- 11.3M 93 238M 93 224M 0 0 28.7M 0 0:00:08 0:00:07 0:00:01 450k 94 238M 94 226M 0 0 25.6M 0 0:00:09 0:00:08 0:00:01 896k 94 238M 94 226M 0 0 23.0M 0 0:00:10 0:00:09 0:00:01 464k 94 238M 94 226M 0 0 20.8M 0 0:00:11 0:00:10 0:00:01 464k 94 238M 94 226M 0 0 19.1M 0 0:00:12 0:00:11 0:00:01 464k 95 238M 95 228M 0 0 17.4M 0 0:00:13 0:00:13 --:--:-- 774k 95 238M 95 228M 0 0 16.1M 0 0:00:14 0:00:14 --:--:-- 388k 95 238M 95 228M 0 0 15.1M 0 0:00:15 0:00:15 --:--:-- 388k 95 238M 95 228M 0 0 14.1M 0 0:00:16 0:00:16 --:--:-- 388k 95 238M 95 228M 0 0 13.3M 0 0:00:17 0:00:17 --:--:-- 388k 95 238M 95 228M 0 0 12.6M 0 0:00:18 0:00:18 --:--:-- 0 95 238M 95 228M 0 0 12.0M 0 0:00:19 0:00:18 0:00:01 594 96 238M 96 231M 0 0 11.5M 0 0:00:20 0:00:19 0:00:01 638k 96 238M 96 231M 0 0 11.1M 0 0:00:21 0:00:20 0:00:01 682k 98 238M 98 235M 0 0 10.5M 0 0:00:22 0:00:22 --:--:-- 1374k 98 238M 98 235M 0 0 10.0M 0 0:00:23 0:00:23 --:--:-- 1374k 98 238M 98 235M 0 0 9885k 0 0:00:24 0:00:24 --:--:-- 1339k 98 238M 98 235M 0 0 9494k 0 0:00:25 0:00:25 --:--:-- 764k 98 238M 98 235M 0 0 9134k 0 0:00:26 0:00:26 --:--:-- 722k 98 238M 98 235M 0 0 8799k 0 0:00:27 0:00:27 --:--:-- 0 98 238M 98 235M 0 0 8489k 0 0:00:28 0:00:28 --:--:-- 0 98 238M 98 235M 0 0 8310k 0 0:00:29 0:00:28 0:00:01 1567 100 238M 100 238M 0 0 8350k 0 0:00:29 0:00:29 --:--:-- 996k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 29 308M 29 90.7M 0 0 94.3M 0 0:00:03 --:--:-- 0:00:03 94.2M 58 308M 58 180M 0 0 92.1M 0 0:00:03 0:00:01 0:00:02 92.1M 92 308M 92 284M 0 0 96.1M 0 0:00:03 0:00:02 0:00:01 96.1M 100 308M 100 308M 0 0 96.6M 0 0:00:03 0:00:03 --:--:-- 96.6M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremar +k_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 10.9M 0 --:--:-- --:--:-- --:--:-- 11.2M +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=52f6a7dcb25b04beb6ee405c40eb6565116affa5, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng +-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.29.1 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done (56.9s) +-- Generating done (0.0s) +-- Build files have been written to: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[2/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[3/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[4/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[5/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[6/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[7/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[8/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[9/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[10/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[11/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[12/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[13/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[14/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[15/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[16/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[17/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[18/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[19/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[20/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[21/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[22/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[23/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[24/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[25/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[26/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[27/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[28/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[29/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[31/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[32/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[33/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[34/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[35/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[36/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[37/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[40/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[41/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[42/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[43/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[44/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[53/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[62/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[64/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[68/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[69/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[70/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[72/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[73/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[74/93] Building C object test/CMakeFiles/example.dir/example.c.o +[75/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[76/93] Linking C shared library libz.so.1.3.0.zlib-ng +[77/93] Creating library symlink libz.so.1 libz.so +[78/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[79/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[80/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[81/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[82/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[83/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[84/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[85/93] Linking C executable switchlevels +[86/93] Linking C executable minideflate +[87/93] Linking C executable infcover +[88/93] Linking C executable example +[89/93] Linking C executable makefixed +[90/93] Linking C executable makecrct +[91/93] Linking C executable maketrees +[92/93] Linking C static library libz.a +[93/93] Linking C executable minigzip ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1.3.0.zlib-ng +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1 +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.a +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/pkgconfig/zlib.pc +++ pwd ++ ls /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:50:38 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:50:38 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:50:38 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpt73oxek7 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt73oxek7 +Thu Apr 11 03:50:39 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt73oxek7 +Thu Apr 11 03:50:39 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt73oxek7 ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpt73oxek7 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt73oxek7 +Thu Apr 11 03:50:41 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt73oxek7 +Thu Apr 11 03:50:41 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt73oxek7 ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:50:41 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_common/2024-04-11-03_47_23.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_common/2024-04-11-03_47_23.log new file mode 100644 index 00000000..a54e5fcc --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_common/2024-04-11-03_47_23.log @@ -0,0 +1,921 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:47:23 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:47:23 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:47:23 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:47:24 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 55.7M 0 --:--:-- --:--:-- --:--:-- 55.8M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:47:25 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:47:25 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting +objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing +objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% +(69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: +26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-upstream +gnu-plct-xthead +gnu-plct +gnu-plct-rv64ilp32-elf +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ grep -v 'no binary for current host' +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' ++ s=' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ++ '[' '!' -z ' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ']' ++ pkgname=gnu-upstream ++ break ++ '[' -z gnu-upstream ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-u +nknown-linux-gnu.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-u +nknown-linux-gnu.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ cut -d/ -f 2 +++ head -n 1 ++ pkgname=coremark ++ mkdir source-test ++ cd source-test ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 10.0M 0 --:--:-- --:--:-- --:--:-- 10.3M +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'LICENSE.md +Makefile +README.md +barebones +core_list_join.c +core_main.c +core_matrix.c +core_state.c +core_util.c +coremark.h +cygwin +docs +linux +linux64 +simple' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:47:59 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:00 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:01 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 76.8M 0 --:--:-- --:--:-- --:--:-- 77.0M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:48:02 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:48:02 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:48:02 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:48:02 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:48:02 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_config/2024-04-11-03_58_22.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_config/2024-04-11-03_58_22.log new file mode 100644 index 00000000..070a3560 --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_config/2024-04-11-03_58_22.log @@ -0,0 +1,272 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:58:22 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:58:22 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:58:22 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:58:25 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 91 23.7M 91 21.6M 0 0 72.7M 0 --:--:-- --:--:-- --:--:-- 72.7M 100 23.7M 100 23.7M 0 0 74.9M 0 --:--:-- --:--:-- --:--:-- 74.8M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:58:25 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:58:25 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% +(207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% +(237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% +(266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% +(296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting +objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting +objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting +objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting +objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting +objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% +(100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:58:50 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:58:50 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:58:50 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:58:50 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:58:50 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_device/2024-04-11-03_58_50.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_device/2024-04-11-03_58_50.log new file mode 100644 index 00000000..d20109c4 --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_device/2024-04-11-03_58_50.log @@ -0,0 +1,2685 @@ ++ source ./common/device_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:58:50 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:58:50 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:58:50 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:58:51 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 94.7M 0 --:--:-- --:--:-- --:--:-- 94.9M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:58:52 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:58:52 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% +(215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% +(244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% +(274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% +(303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: +45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: +49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting +objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% +(443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% +(473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% +(502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% +(532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% +(561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting +objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting +objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting +objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing +objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% +(97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: +35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ SLEEP_WAIT 1m ++ ruyi device provision ++ wait_time=1m ++ cmd= ++ mode=1 ++ tee ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 438303 +./common/device_lib.sh: line 49: kill: (438303) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 56.1M 147M 220M 298M 402M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 56.1M 147M 220M 298M 402M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 56.1M =~ [0-9]+ ]] ++ [[ 56.1M != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ SLEEP_WAIT 1m ++ ruyi device provision ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 438443 +./common/device_lib.sh: line 49: kill: (438443) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 59.0M 153M 262M 362M 467M 577M 685M 793M 895M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 59.0M 153M 262M 362M 467M 577M 685M 793M 895M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 59.0M =~ [0-9]+ ]] ++ [[ 59.0M != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ tee ++ kill -9 438612 +./common/device_lib.sh: line 49: kill: (438612) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 34.2M 93.2M 142M 191M 209M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 34.2M 93.2M 142M 191M 209M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 34.2M =~ [0-9]+ ]] ++ [[ 34.2M != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ tee ++ kill -9 438722 +./common/device_lib.sh: line 49: kill: (438722) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Received +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 21.8M 77.1M 125M 174M 194M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 21.8M 77.1M 125M 174M 194M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 21.8M =~ [0-9]+ ]] ++ [[ 21.8M != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ SLEEP_WAIT 1m ++ ruyi device provision ++ wait_time=1m ++ tee ++ cmd= ++ mode=1 ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 438860 +./common/device_lib.sh: line 49: kill: (438860) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 9662k 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 9662k 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 9662k =~ [0-9]+ ]] ++ [[ 9662k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ tee ++ kill -9 438969 +./common/device_lib.sh: line 49: kill: (438969) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 85048 24.8M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 85048 24.8M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 85048 =~ [0-9]+ ]] ++ [[ 85048 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n3\n1\n2\ny' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ sed 's$/$_$g' +++ echo -E y312n ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ SLEEP_WAIT 1m ++ ruyi device provision ++ wait_time=1m ++ cmd= ++ tee ++ mode=1 ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 439095 +./common/device_lib.sh: line 49: kill: (439095) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 540k 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 540k 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 540k =~ [0-9]+ ]] ++ [[ 540k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ tee ++ kill -9 439201 +./common/device_lib.sh: line 49: kill: (439201) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 253k 28.5M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 253k 28.5M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 253k =~ [0-9]+ ]] ++ [[ 253k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ SLEEP_WAIT 1m ++ ruyi device provision ++ wait_time=1m ++ cmd= ++ mode=1 ++ tee ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 439340 +./common/device_lib.sh: line 49: kill: (439340) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 8523 10.3M 46.1M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 8523 10.3M 46.1M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 8523 =~ [0-9]+ ]] ++ [[ 8523 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ awk '{print $3}' +++ echo Happy 'hacking!' 0 0 ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /var/jenkins/workspace/ruyi-mugen_PR-3/logs/ruyi/ruyi_test_device/2024-04-11-04:09:23.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 04:09:23 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 04:09:23 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 04:09:23 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 04:09:23 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 04:09:23 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_device/2024-04-11-04_09_23.tar.gz b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_device/2024-04-11-04_09_23.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8db101f755ef3276f85229ff6cc0dfc2ddcf682e GIT binary patch literal 4205 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 literal 0 HcmV?d00001 diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-03_45_22.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-03_45_22.log new file mode 100644 index 00000000..6fc6c839 --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-03_45_22.log @@ -0,0 +1,294 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:45:22 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:45:22 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:45:23 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:45:24 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 86.1M 0 --:--:-- --:--:-- --:--:-- 86.3M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:45:24 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:45:24 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 33 47.2M 33 15.8M 0 0 73.1M 0 --:--:-- --:--:-- --:--:-- 72.8M 100 47.2M 100 47.2M 0 0 60.3M 0 --:--:-- --:--:-- --:--:-- 60.2M +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:45:33 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:45:33 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:45:33 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:45:33 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:45:33 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-03_45_33.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-03_45_33.log new file mode 100644 index 00000000..89df4e96 --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-03_45_33.log @@ -0,0 +1,288 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:45:33 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:45:33 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:45:33 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:45:34 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 87.5M 0 --:--:-- --:--:-- --:--:-- 87.5M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:45:35 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:45:35 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: +4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting +objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% +(259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% +(288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% +(318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% +(347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: +51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: +55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting +objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% +(488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% +(517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% +(547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% +(576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% +(606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: +86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting +objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% +(716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), +done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 17 238M 17 42.0M 0 0 89.0M 0 0:00:02 --:--:-- 0:00:02 88.8M 54 238M 54 130M 0 0 88.5M 0 0:00:02 0:00:01 0:00:01 88.5M 94 238M 94 226M 0 0 91.5M 0 0:00:02 0:00:02 --:--:-- 91.5M 100 238M 100 238M 0 0 92.0M 0 0:00:02 0:00:02 --:--:-- 92.0M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:45:59 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:46:00 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:46:00 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:46:00 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:46:01 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_llvm/2024-04-11-03_55_05.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_llvm/2024-04-11-03_55_05.log new file mode 100644 index 00000000..ff999f0e --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_llvm/2024-04-11-03_55_05.log @@ -0,0 +1,174 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:55:05 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:55:05 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:55:06 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:55:07 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 72.2M 0 --:--:-- --:--:-- --:--:-- 72.3M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:55:07 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:55:07 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' x86_64 == riscv64 ']' ++ ruyi update + +Traceback (most recent call last): + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/__main__.py", line 57, in + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/cli/__init__.py", line 300, in main + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/update_cli.py", line 14, in cli_update + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 180, in sync + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 170, in ensure_git_repo + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/__init__.py", line 209, in clone_repository + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/callbacks.py", line 99, in check_error + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/errors.py", line 65, in check_error +_pygit2.GitError: SSL error: unknown error +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' +Traceback (most recent call last): + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/__main__.py", line 57, in + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/cli/__init__.py", line 300, in main + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/pkg_cli.py", line 26, in cli_list + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/pkg_cli.py", line 44, in do_list_non_verbose + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 299, in iter_pkgs + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 274, in ensure_pkg_cache + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 170, in ensure_git_repo + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/__init__.py", line 209, in clone_repository + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/callbacks.py", line 99, in check_error + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/errors.py", line 65, in check_error +_pygit2.GitError: failed to connect to github.com: Connection refused ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No llvm-upstream available for current host x86_64, skip' ++ message='No llvm-upstream available for current host x86_64, skip' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'No llvm-upstream available for current host x86_64, skip' +Thu Apr 11 03:58:22 2024 - INFO - No llvm-upstream available for current host x86_64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:58:22 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:58:22 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:58:22 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_news/2024-04-11-03_48_02.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_news/2024-04-11-03_48_02.log new file mode 100644 index 00000000..5390659c --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_news/2024-04-11-03_48_02.log @@ -0,0 +1,232 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:48:03 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:03 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:03 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:48:04 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 67.0M 0 --:--:-- --:--:-- --:--:-- 67.0M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:48:04 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:48:04 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:48:09 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:48:09 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:48:09 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:48:09 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:48:10 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_qemu/2024-04-11-03_52_20.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_qemu/2024-04-11-03_52_20.log new file mode 100644 index 00000000..567a7229 --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_qemu/2024-04-11-03_52_20.log @@ -0,0 +1,168 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:52:20 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:52:21 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:52:21 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:52:22 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 74.9M 0 --:--:-- --:--:-- --:--:-- 75.1M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:52:22 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:52:22 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update + +Traceback (most recent call last): + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/__main__.py", line 57, in + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/cli/__init__.py", line 300, in main + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/update_cli.py", line 14, in cli_update + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 180, in sync + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 170, in ensure_git_repo + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/__init__.py", line 209, in clone_repository + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/callbacks.py", line 99, in check_error + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/errors.py", line 65, in check_error +_pygit2.GitError: SSL error: unknown error +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' +Traceback (most recent call last): + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/__main__.py", line 57, in + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/cli/__init__.py", line 300, in main + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/pkg_cli.py", line 26, in cli_list + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/pkg_cli.py", line 44, in do_list_non_verbose + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 299, in iter_pkgs + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 274, in ensure_pkg_cache + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/ruyi/ruyipkg/repo.py", line 170, in ensure_git_repo + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/__init__.py", line 209, in clone_repository + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/callbacks.py", line 99, in check_error + File "/home/jenkins/.cache/ruyi/progcache/0.8.0/pygit2/errors.py", line 65, in check_error +_pygit2.GitError: failed to connect to github.com: Connection refused ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No qemu-user-riscv-upstream available for current host x86_64, skip' ++ message='No qemu-user-riscv-upstream available for current host x86_64, skip' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'No qemu-user-riscv-upstream available for current host x86_64, skip' +Thu Apr 11 03:55:05 2024 - INFO - No qemu-user-riscv-upstream available for current host x86_64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:55:05 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:55:05 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:55:05 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_venv/2024-04-11-04_09_23.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_venv/2024-04-11-04_09_23.log new file mode 100644 index 00000000..2cc3543a --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_venv/2024-04-11-04_09_23.log @@ -0,0 +1,264 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 04:09:23 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 04:09:23 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 04:09:23 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 04:09:25 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 79.0M 0 --:--:-- --:--:-- --:--:-- 79.1M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 04:09:25 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 04:09:25 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 5 238M 5 13.6M 0 0 54.1M 0 0:00:04 --:--:-- 0:00:04 54.0M 35 238M 35 85.1M 0 0 67.9M 0 0:00:03 0:00:01 0:00:02 67.9M 57 238M 57 138M 0 0 61.3M 0 0:00:03 0:00:02 0:00:01 61.3M 90 238M 90 215M 0 0 66.3M 0 0:00:03 0:00:03 --:--:-- 66.3M 100 238M 100 238M 0 0 65.9M 0 0:00:03 0:00:03 --:--:-- 65.8M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 04:09:50 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 04:09:50 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 04:09:50 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 04:09:51 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 04:09:51 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xdg/2024-04-11-03_46_01.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xdg/2024-04-11-03_46_01.log new file mode 100644 index 00000000..fd28d6fd --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xdg/2024-04-11-03_46_01.log @@ -0,0 +1,644 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:46:01 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:46:01 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:46:01 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:46:03 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 23.7M 100 23.7M 0 0 68.7M 0 --:--:-- --:--:-- --:--:-- 68.8M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:46:03 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:46:03 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-upstream +gnu-plct-xthead +gnu-plct +gnu-plct-rv64ilp32-elf +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ grep -v 'no binary for current host' +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' ++ s=' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ++ '[' '!' -z ' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ']' ++ pkgname=gnu-upstream ++ break ++ '[' -z gnu-upstream ']' ++ ruyi install gnu-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20231212-Upstream-So +urces-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 232M 1 4734k 0 0 59.6M 0 0:00:03 --:--:-- 0:00:03 59.2M 44 232M 44 103M 0 0 96.1M 0 0:00:02 0:00:01 0:00:01 96.1M 87 232M 87 203M 0 0 97.8M 0 0:00:02 0:00:02 --:--:-- 97.8M 100 232M 100 232M 0 0 92.7M 0 0:00:02 0:00:02 --:--:-- 92.6M +info: extracting +RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package +gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/x86_64/gnu-upstream-0.2 +0231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:46:32 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:46:32 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:46:32 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:46:32 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:46:32 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xthead_qemu/2024-04-11-03_46_33.log b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xthead_qemu/2024-04-11-03_46_33.log new file mode 100644 index 00000000..219dd8de --- /dev/null +++ b/20240408/logs/archlinux_x86_64_container/ruyi/ruyi_test_xthead_qemu/2024-04-11-03_46_33.log @@ -0,0 +1,333 @@ ++ source ./common/common_lib.sh +++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 03:46:33 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:46:33 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:46:33 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 03:46:34 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 72 23.7M 72 17.1M 0 0 63.4M 0 --:--:-- --:--:-- --:--:-- 63.2M 100 23.7M 100 23.7M 0 0 66.8M 0 --:--:-- --:--:-- --:--:-- 66.8M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 03:46:35 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 03:46:35 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting +objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting +objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting +objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% +(94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: +34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ++ '[' -n ' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ']' ++ qemu_pkg=qemu-user-riscv-xthead ++ qemu_cmd='-e qemu-user-riscv-xthead' ++ ruyi install gnu-plct-xthead qemu-user-riscv-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 308M 7 24.5M 0 0 52.2M 0 0:00:05 --:--:-- 0:00:05 52.2M 30 308M 30 94.9M 0 0 64.5M 0 0:00:04 0:00:01 0:00:03 64.5M 52 308M 52 162M 0 0 65.5M 0 0:00:04 0:00:02 0:00:02 65.5M 83 308M 83 257M 0 0 74.2M 0 0:00:04 0:00:03 0:00:01 74.2M 100 308M 100 308M 0 0 77.6M 0 0:00:03 0:00:03 --:--:-- 77.6M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 3577k 100 3577k 0 0 47.1M 0 --:--:-- --:--:-- --:--:-- 47.8M +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead -e qemu-user-riscv-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/ven +v/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/bin +++ PATH=/var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/bin +++ export PATH +++ hash -r ++++ basename /var/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n qemu-user-riscv-xthead ']' ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi emulation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi emulation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 03:47:09 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 03:47:09 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 03:47:09 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 03:47:09 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /var/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 03:47:19 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_admin/2024-04-11-12_42_33.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_admin/2024-04-11-12_42_33.log new file mode 100644 index 00000000..c2fce8c6 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_admin/2024-04-11-12_42_33.log @@ -0,0 +1,206 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:42:33 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:34 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:36 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:36 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 51 22.3M 51 11.4M 0 0 9963k 0 0:00:02 0:00:01 0:00:01 9957k 100 22.3M 100 22.3M 0 0 16.4M 0 0:00:01 0:00:01 --:--:-- 16.4M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:42:38 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:42:38 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:42:40 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:42:40 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:42:40 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:42:40 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:42:40 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_binaries/2024-04-11-12_43_23.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_binaries/2024-04-11-12_43_23.log new file mode 100644 index 00000000..14fe398b --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_binaries/2024-04-11-12_43_23.log @@ -0,0 +1,2858 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:43:23 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:43:23 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:43:26 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:43:26 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 22.3M 0 120k 0 0 226k 0 0:01:40 --:--:-- 0:01:40 226k 100 22.3M 100 22.3M 0 0 16.9M 0 0:00:01 0:00:01 --:--:-- 16.9M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:43:27 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:43:27 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 55 40.5M 55 22.5M 0 0 17.2M 0 0:00:02 0:00:01 0:00:01 17.2M 100 40.5M 100 40.5M 0 0 23.8M 0 0:00:01 0:00:01 --:--:-- 23.8M +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-aarch64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-rv64ilp32-elf-0.202 +40223.0-ruyi.20240224' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g 8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 55 40.5M 55 22.5M 0 0 17.2M 0 0:00:02 0:00:01 0:00:01 $'17.2M\r100' 40.5M 100 40.5M 0 0 23.8M 0 0:00:01 0:00:01 --:--:-- 23.8M info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-aarch64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-rv64ilp32-elf-0.202 40223.0-ruyi.20240224 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=40223.0-ruyi.20240224 ++ bpb=40223.0-ruyi.20240224/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g 8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 55 40.5M 55 22.5M 0 0 17.2M 0 0:00:02 0:00:01 0:00:01 $'17.2M\r100' 40.5M 100 40.5M 0 0 23.8M 0 0:00:01 0:00:01 --:--:-- 23.8M info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-aarch64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-rv64ilp32-elf-0.202 40223.0-ruyi.20240224 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 40223.0-ruyi.20240224 ']' ++ '[' '!' -d 40223.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2. +8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 289M 6 19.5M 0 0 15.0M 0 0:00:19 0:00:01 0:00:18 15.0M 23 289M 23 67.0M 0 0 28.9M 0 0:00:10 0:00:02 0:00:08 28.9M 37 289M 37 107M 0 0 32.3M 0 0:00:08 0:00:03 0:00:05 32.3M 52 289M 52 152M 0 0 35.6M 0 0:00:08 0:00:04 0:00:04 35.6M 67 289M 67 196M 0 0 36.9M 0 0:00:07 0:00:05 0:00:02 39.2M 84 289M 84 243M 0 0 38.7M 0 0:00:07 0:00:06 0:00:01 44.8M 100 289M 100 289M 0 0 39.9M 0 0:00:07 0:00:07 --:--:-- 45.1M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-aarch64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-xthead-2.8.0-ruyi.2 +0240222' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2. 8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 289M 6 19.5M 0 0 15.0M 0 0:00:19 0:00:01 0:00:18 $'15.0M\r' 23 289M 23 67.0M 0 0 28.9M 0 0:00:10 0:00:02 0:00:08 $'28.9M\r' 37 289M 37 107M 0 0 32.3M 0 0:00:08 0:00:03 0:00:05 $'32.3M\r' 52 289M 52 152M 0 0 35.6M 0 0:00:08 0:00:04 0:00:04 $'35.6M\r' 67 289M 67 196M 0 0 36.9M 0 0:00:07 0:00:05 0:00:02 $'39.2M\r' 84 289M 84 243M 0 0 38.7M 0 0:00:07 0:00:06 0:00:01 $'44.8M\r100' 289M 100 289M 0 0 39.9M 0 0:00:07 0:00:07 --:--:-- 45.1M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-aarch64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-xthead-2.8.0-ruyi.2 0240222 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=0240222 ++ bpb=0240222/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2. 8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 289M 6 19.5M 0 0 15.0M 0 0:00:19 0:00:01 0:00:18 $'15.0M\r' 23 289M 23 67.0M 0 0 28.9M 0 0:00:10 0:00:02 0:00:08 $'28.9M\r' 37 289M 37 107M 0 0 32.3M 0 0:00:08 0:00:03 0:00:05 $'32.3M\r' 52 289M 52 152M 0 0 35.6M 0 0:00:08 0:00:04 0:00:04 $'35.6M\r' 67 289M 67 196M 0 0 36.9M 0 0:00:07 0:00:05 0:00:02 $'39.2M\r' 84 289M 84 243M 0 0 38.7M 0 0:00:07 0:00:06 0:00:01 $'44.8M\r100' 289M 100 289M 0 0 39.9M 0 0:00:07 0:00:07 --:--:-- 45.1M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-aarch64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-xthead-2.8.0-ruyi.2 0240222 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 0240222 ']' ++ '[' '!' -d 0240222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-aarch +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-aarch6 +4-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 227M 2 5116k 0 0 5136k 0 0:00:45 --:--:-- 0:00:45 5137k 23 227M 23 52.4M 0 0 25.8M 0 0:00:08 0:00:02 0:00:06 25.8M 40 227M 40 92.3M 0 0 31.0M 0 0:00:07 0:00:02 0:00:05 31.0M 60 227M 60 137M 0 0 34.3M 0 0:00:06 0:00:03 0:00:03 34.3M 80 227M 80 182M 0 0 36.6M 0 0:00:06 0:00:04 0:00:02 36.6M 99 227M 99 225M 0 0 37.5M 0 0:00:06 0:00:05 0:00:01 44.0M 100 227M 100 227M 0 0 37.8M 0 0:00:06 0:00:06 --:--:-- 44.0M +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-aarch64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-aarch 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-aarch6 4-linux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 227M 2 5116k 0 0 5136k 0 0:00:45 --:--:-- 0:00:45 $'5137k\r' 23 227M 23 52.4M 0 0 25.8M 0 0:00:08 0:00:02 0:00:06 $'25.8M\r' 40 227M 40 92.3M 0 0 31.0M 0 0:00:07 0:00:02 0:00:05 $'31.0M\r' 60 227M 60 137M 0 0 34.3M 0 0:00:06 0:00:03 0:00:03 $'34.3M\r' 80 227M 80 182M 0 0 36.6M 0 0:00:06 0:00:04 0:00:02 $'36.6M\r' 99 227M 99 225M 0 0 37.5M 0 0:00:06 0:00:05 0:00:01 $'44.0M\r100' 227M 100 227M 0 0 37.8M 0 0:00:06 0:00:06 --:--:-- 44.0M info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-aarch64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 ++ bpb=/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-aarch 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-aarch6 4-linux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 227M 2 5116k 0 0 5136k 0 0:00:45 --:--:-- 0:00:45 $'5137k\r' 23 227M 23 52.4M 0 0 25.8M 0 0:00:08 0:00:02 0:00:06 $'25.8M\r' 40 227M 40 92.3M 0 0 31.0M 0 0:00:07 0:00:02 0:00:05 $'31.0M\r' 60 227M 60 137M 0 0 34.3M 0 0:00:06 0:00:03 0:00:03 $'34.3M\r' 80 227M 80 182M 0 0 36.6M 0 0:00:06 0:00:04 0:00:02 $'36.6M\r' 99 227M 99 225M 0 0 37.5M 0 0:00:06 0:00:05 0:00:01 $'44.0M\r100' 227M 100 227M 0 0 37.8M 0 0:00:06 0:00:06 --:--:-- 44.0M info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-aarch64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin ']' +++ ls /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=47f9bd91d89d89929910c199aea9230c9d099d4b, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x0000ffffb6ffa000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffb6e60000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb6cb0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb6fbd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=e6ac30aebbc64d6951fe234187cf72c274d060ba, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x0000ffffa4f8f000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa4df0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa4c40000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa4f52000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6320555be9fe5afc22633ec8e4d104b81dc87e94, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x0000ffffa8f01000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa8cb0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa8b00000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa8ec4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a6cae75e02d5fb3acb2686123cfaad18819d0b50, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x0000ffffa0a95000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa08a0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa0a58000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=920ffcc5a2d0c233473ed719399cec3d34a8125d, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x0000ffff92c79000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff92ad0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff92920000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff92c3c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=b862086718aef9f75c3b2242b02c83dda4877520, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x0000ffffae066000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffade70000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffae029000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=79678e3e24e29ca0c208868def9f6797d2e1101d, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x0000ffff86819000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff86610000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff867dc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a6cae75e02d5fb3acb2686123cfaad18819d0b50, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x0000ffffb3183000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb2f90000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb3146000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=066c3af66f3aedd2e3f618d2effdbb870e17a8ed, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x0000ffffbd795000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbd5a0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbd758000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep dynamic ++ grep executable +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=066c3af66f3aedd2e3f618d2effdbb870e17a8ed, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x0000ffff9841f000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff98230000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff983e2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=5e83b016598890227e2f4f24f93023b03afb4de0, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000ffffb0eb8000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb0cc0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb0e7b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ece48d647df42f38d2fec552cabf5fd2cb4ca790, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000ffffbd147000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbcf50000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbd10a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6ee455e4fd17b345d7ca74451c970b670bc28199, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000ffffb0050000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffafe60000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb0013000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep dynamic ++ grep executable +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=edb53bd9254fe7e98cba9ea4e0a3479630892e10, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x0000ffff950d0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff94ee0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff95093000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=24d4458dfe38bae74a5c1198423fed419ac02238, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000ffff8924b000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff89050000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff8920e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=e52558670dc15864a0d88b7f280d3fe39a12d950, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000ffffb0222000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb0030000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb01e5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=8f7d2e9d3a80d843301fd75290d6a2615ce8fab2, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x0000ffff93a76000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff92ff0000) + libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff92dd0000) + libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff92d30000) + libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff92cf0000) + libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff92cc0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff92b10000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff93a39000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=7559c0f6ef0498ec5149fa02b760bc614a541e99, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x0000ffff9f062000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff9ee70000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff9f025000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=18e826b5bff9957a417409aa97a877b6a0d50d11, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x0000ffff9e475000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff9e230000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff9e080000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff9e438000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=019621d42f4885d74a94d98b28433e35d087feed, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x0000ffff88b0e000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff88760000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff885b0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff88ad1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=019621d42f4885d74a94d98b28433e35d087feed, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000ffff9106b000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff90cb0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff90b00000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff9102e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=151629da4cf1870b26c9717aee3d8041a7f3f4e5, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000ffff8b1fa000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff8b190000) + libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff8b0f0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff8af40000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff8b1bd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=087fd87ac997145acc7242ae74b7bc672e7b8172, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x0000ffffaa861000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffaa6c0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffaa510000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffaa824000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=79bd9d859afe43fa3281383bfb2e0d85291d24eb, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x0000ffffbe3dc000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffbe220000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbe070000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbe39f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=cddfbec7a48703e5ae945e1458e293aeca3e7ab7, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x0000ffffbd162000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffbced0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbcd20000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbd125000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ef1b80563821cedded38393fd79d028bb8cace0c, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x0000ffffbcf0e000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffbcd70000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbcbc0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbced1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=0b3d7265cf855cc7a0e621f6b3d29350e481d594, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x0000ffff9622a000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff95f30000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff961ed000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=153fc2b0351e1880cd82b811c02ac576231d217a, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x0000ffff9f942000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff9f7a0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff9f5f0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff9f905000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f6d0f3226947b644ea1567e0da39e4fb2615c212, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x0000ffffb2136000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffb1f90000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb1de0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb20f9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9632f9281af57e057975f8cd8db1db02d83c1968, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x0000ffffb6e5e000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffb6ca0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb6af0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb6e21000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-a +arch64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-aa +rch64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 220M 0 139k 0 0 223k 0 0:16:49 --:--:-- 0:16:49 223k 11 220M 11 25.7M 0 0 15.9M 0 0:00:13 0:00:01 0:00:12 15.9M 33 220M 33 73.2M 0 0 27.7M 0 0:00:07 0:00:02 0:00:05 27.7M 52 220M 52 115M 0 0 32.0M 0 0:00:06 0:00:03 0:00:03 32.0M 52 220M 52 116M 0 0 24.9M 0 0:00:08 0:00:04 0:00:04 24.9M 70 220M 70 156M 0 0 27.8M 0 0:00:07 0:00:05 0:00:02 31.2M 86 220M 86 190M 0 0 28.8M 0 0:00:07 0:00:06 0:00:01 32.9M 100 220M 100 220M 0 0 29.8M 0 0:00:07 0:00:07 --:--:-- 30.9M +info: extracting +RuyiSDK-20231212-Upstream-Sources-HOST-aarch64-linux-gnu-riscv64-unknown-linux-g +nu.tar.xz for package gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-a arch64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-aa rch64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 220M 0 139k 0 0 223k 0 0:16:49 --:--:-- 0:16:49 $'223k\r' 11 220M 11 25.7M 0 0 15.9M 0 0:00:13 0:00:01 0:00:12 $'15.9M\r' 33 220M 33 73.2M 0 0 27.7M 0 0:00:07 0:00:02 0:00:05 $'27.7M\r' 52 220M 52 115M 0 0 32.0M 0 0:00:06 0:00:03 0:00:03 $'32.0M\r' 52 220M 52 116M 0 0 24.9M 0 0:00:08 0:00:04 0:00:04 $'24.9M\r' 70 220M 70 156M 0 0 27.8M 0 0:00:07 0:00:05 0:00:02 $'31.2M\r' 86 220M 86 190M 0 0 28.8M 0 0:00:07 0:00:06 0:00:01 $'32.9M\r100' 220M 100 220M 0 0 29.8M 0 0:00:07 0:00:07 --:--:-- 30.9M info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-aarch64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0 ++ bpb=/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-a arch64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-aa rch64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 220M 0 139k 0 0 223k 0 0:16:49 --:--:-- 0:16:49 $'223k\r' 11 220M 11 25.7M 0 0 15.9M 0 0:00:13 0:00:01 0:00:12 $'15.9M\r' 33 220M 33 73.2M 0 0 27.7M 0 0:00:07 0:00:02 0:00:05 $'27.7M\r' 52 220M 52 115M 0 0 32.0M 0 0:00:06 0:00:03 0:00:03 $'32.0M\r' 52 220M 52 116M 0 0 24.9M 0 0:00:08 0:00:04 0:00:04 $'24.9M\r' 70 220M 70 156M 0 0 27.8M 0 0:00:07 0:00:05 0:00:02 $'31.2M\r' 86 220M 86 190M 0 0 28.8M 0 0:00:07 0:00:06 0:00:01 $'32.9M\r100' 220M 100 220M 0 0 29.8M 0 0:00:07 0:00:07 --:--:-- 30.9M info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-aarch64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin ']' +++ ls /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep dynamic ++ grep executable +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=601ed6d55add93fcf9ba7172d57b792d813dcbfe, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x0000ffffa8e70000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa8cf0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa8b40000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa8e33000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=1433c465ef388b26968efb50b389d52de3874725, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x0000ffff8ef29000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff8eda0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff8ebf0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff8eeec000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2e97dd900b57971ac147841068f7ae4a84b94756, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x0000ffff84bf2000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff849e0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff84830000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff84bb5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4ba252ae66623e6c9d722276f0057ed55896dc4c, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x0000ffff90efd000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff90d10000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff90ec0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=8bccc960fa0a689ac5540ded551d3dfe801b3955, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x0000ffffafb0a000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffaf980000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffaf7d0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffafacd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9c78d533ff41878d6585607e1e118cd442863985, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x0000ffff9e7dc000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff9e5e0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff9e79f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f3d2141f47f4c69b95c3aad1108d6bc3adedb9e6, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x0000ffffbc26a000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbc060000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbc22d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4ba252ae66623e6c9d722276f0057ed55896dc4c, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x0000ffffa9259000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa9060000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa921c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=60a5e81032326f4aaf1c0a47ca0072f3eccb8976, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x0000ffffb0fd0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb0de0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb0f93000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=60a5e81032326f4aaf1c0a47ca0072f3eccb8976, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x0000ffffb92ce000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb90e0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb9291000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=56491130be5e299379ba40a74e0ff2599ae2da74, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000ffffbe962000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbe770000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbe925000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=121175de53a57f4d1c1e9b5cb17cee60bc453a56, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000ffffb7f0b000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffb7d10000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffb7ece000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep executable ++ grep dynamic ++ grep ELF +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4732e5fe0259e6f3226dec3cba25240a717bc672, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000ffff854f6000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff85300000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff854b9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9e40c288a3bd9e63f02377000761ee9bf0e3c91d, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x0000ffff8feeb000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff8fcf0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff8feae000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep executable ++ grep ELF ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=3c2eccb9fe36c2c16156c4b0f0e8e8f22a0364c2, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000ffffa6686000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa6490000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa6649000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=d679e55bd48b5c356ae7a97fc0caf0150a7d9a36, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000ffffbaacd000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffba8e0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbaa90000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=e9d3362963e56a5ca5c7e852ae1b26a74d2ed495, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x0000ffff85dda000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff853c0000) + libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffff851a0000) + libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffff85100000) + libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffff850c0000) + libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffff85090000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff84ee0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff85d9d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f2aa3fba3236cbb520ee19fe7c8e91fe0665b102, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x0000ffff8fa41000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff8f850000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff8fa04000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep executable ++ grep dynamic ++ grep ELF +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=0161f0ea4e2e43ed3700e6c5f1719c76b58bd157, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x0000ffff83a53000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff838c0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff83710000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff83a16000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2feac2deb7b849d1a82f74e012347b06ee493713, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x0000ffff85f54000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff85bc0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff85a10000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff85f17000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep executable ++ grep ELF ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2feac2deb7b849d1a82f74e012347b06ee493713, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000ffffbdcc1000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffbd930000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbd780000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbdc84000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=45dba718c282eeacaa614314b8282a5e5cf34771, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000ffffadbd8000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffadb70000) + libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffadad0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffad920000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffadb9b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=fbcde0e6bd4d656ee6de661896730c67af1a64e0, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x0000ffffbdbeb000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffbda60000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbd8b0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbdbae000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=64db1b54a9ad91e7d5d9a607d72ff91d75a027f6, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x0000ffff93718000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff93570000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff933c0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff936db000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep dynamic ++ grep executable +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=463a5cb0d39bb05fdf107ed0bbd1b10a3051c5d5, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x0000ffff9d0f8000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff9cea0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff9ccf0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff9d0bb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a541c0e501c6a6a2a0a27a618d55d95ff1b89de9, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x0000ffffa7186000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa7000000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa6e50000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa7149000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bd7b14a9c69f76f680cd57c08711158da39302e4, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x0000ffffa58d6000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa55e0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa5899000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep dynamic ++ grep executable +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=52d9571a877464e2a96bcda829918b32d71648af, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x0000ffffa3e19000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa3ca0000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa3af0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffa3ddc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=787f4b257d13685c7422b33669367af02b459708, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x0000ffff95ad0000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffff95950000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffff957a0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffff95a93000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=0987decf51d2a929d8446a247f12317cd86f954b, for GNU/Linux 3.7.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x0000ffffbeef1000) + libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffbed50000) + libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffbeba0000) + /lib/ld-linux-aarch64.so.1 (0x0000ffffbeeb4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for +host linux/aarch64' ++ retc=2 +++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/aarch64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/aarch64 ++ bpb=linux/aarch64/bin ++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/aarch64 ++ grep 'no binary' +fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/aarch64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check toolchain/llvm-upstream no binary for current host' ++ message='Check toolchain/llvm-upstream no binary for current host' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'Check toolchain/llvm-upstream no binary for current host' +Thu Apr 11 12:44:59 2024 - WARN - Check toolchain/llvm-upstream no binary for current host ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/aarch64' ++ retc=2 +++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/aarch64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/aarch64 ++ bpb=linux/aarch64/bin ++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/aarch64 ++ grep 'no binary' +fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/aarch64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-system-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-system-riscv-upstream no binary for current host' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-system-riscv-upstream no binary for current host' +Thu Apr 11 12:45:00 2024 - WARN - Check emulator/qemu-system-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/aarch64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/aarch64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/aarch64 ++ bpb=linux/aarch64/bin ++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/aarch64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/aarch64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-user-riscv-upstream no binary for current host' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-upstream no binary for current host' +Thu Apr 11 12:45:01 2024 - WARN - Check emulator/qemu-user-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +declares no binary for host linux/aarch64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/aarch64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/aarch64 ++ bpb=linux/aarch64/bin ++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/aarch64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/aarch64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-xthead no binary for current host' ++ message='Check emulator/qemu-user-riscv-xthead no binary for current host' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-xthead no binary for current host' +Thu Apr 11 12:45:01 2024 - WARN - Check emulator/qemu-user-riscv-xthead no binary for current host ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:45:01 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:45:01 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:45:01 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:45:01 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:45:02 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-11-12_39_53.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-11-12_39_53.log new file mode 100644 index 00000000..c0039ffb --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-11-12_39_53.log @@ -0,0 +1,629 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:39:53 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:39:53 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:39:56 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:39:57 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 22.3M 0 36638 0 0 53948 0 0:07:13 --:--:-- 0:07:13 53879 100 22.3M 100 22.3M 0 0 13.9M 0 0:00:01 0:00:01 --:--:-- 13.9M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' +Thu Apr 11 12:39:58 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp4sjct71r ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp4sjct71r ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmp4sjct71r ']' +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmp4sjct71r +Thu Apr 11 12:40:04 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp4sjct71r ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:40:04 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:40:04 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% +(215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% +(244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% +(274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% +(303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: +45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: +49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting +objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% +(443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% +(473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting +objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting +objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing +objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% +(63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-aarch +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-aarch6 +4-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 227M 3 7319k 0 0 6923k 0 0:00:33 0:00:01 0:00:32 6924k 19 227M 19 45.2M 0 0 22.1M 0 0:00:10 0:00:02 0:00:08 22.1M 39 227M 39 88.8M 0 0 29.1M 0 0:00:07 0:00:03 0:00:04 29.1M 57 227M 57 131M 0 0 32.4M 0 0:00:07 0:00:04 0:00:03 32.4M 76 227M 76 175M 0 0 34.6M 0 0:00:06 0:00:05 0:00:01 35.4M 97 227M 97 220M 0 0 36.4M 0 0:00:06 0:00:06 --:--:-- 42.7M 100 227M 100 227M 0 0 36.6M 0 0:00:06 0:00:06 --:--:-- 43.7M +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-aarch64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2. +8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 289M 0 127k 0 0 158k 0 0:31:14 --:--:-- 0:31:14 158k 5 289M 5 16.1M 0 0 9112k 0 0:00:32 0:00:01 0:00:31 9110k 18 289M 18 53.1M 0 0 18.4M 0 0:00:15 0:00:02 0:00:13 18.4M 29 289M 29 84.9M 0 0 22.1M 0 0:00:13 0:00:03 0:00:10 22.1M 40 289M 40 116M 0 0 24.0M 0 0:00:12 0:00:04 0:00:08 24.0M 50 289M 50 147M 0 0 25.3M 0 0:00:11 0:00:05 0:00:06 29.3M 63 289M 63 183M 0 0 26.9M 0 0:00:10 0:00:06 0:00:04 33.4M 72 289M 72 210M 0 0 26.8M 0 0:00:10 0:00:07 0:00:03 31.7M 80 289M 80 233M 0 0 26.5M 0 0:00:10 0:00:08 0:00:02 29.8M 90 289M 90 261M 0 0 26.6M 0 0:00:10 0:00:09 0:00:01 29.3M 100 289M 100 289M 0 0 27.0M 0 0:00:10 0:00:10 --:--:-- 29.0M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-aarch64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-xthead-2.8.0-ruyi.2 +0240222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremark_ve +nv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /var/lib/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 564k 0 --:--:-- --:--:-- --:--:-- 564k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=95033d0085dc7715d78fdb9e19e6222def5cddc1, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1 +.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.25.1 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[2/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[3/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[5/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[6/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[20/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[22/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[25/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[26/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[27/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[28/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[33/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[35/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[37/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[40/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[41/93] Linking C shared library libz.so.1.3.0.zlib-ng +[42/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[43/93] Creating library symlink libz.so.1 libz.so +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[64/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[73/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[74/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[75/93] Building C object test/CMakeFiles/example.dir/example.c.o +[76/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[77/93] Linking C executable switchlevels +[78/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[79/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[80/93] Linking C static library libz.a +[81/93] Linking C executable minideflate +[82/93] Linking C executable example +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[85/93] Linking C executable minigzip +[86/93] Linking C executable infcover +[87/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[88/93] Linking C executable makefixed +[89/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[90/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[91/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[92/93] Linking C executable makecrct +[93/93] Linking C executable maketrees ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1.3.0.zlib-ng +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1 +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.a +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/pkgconfig/zlib.pc +++ pwd ++ ls /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:42:11 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:42:11 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:42:11 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp4sjct71r ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4sjct71r +Thu Apr 11 12:42:11 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4sjct71r ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4sjct71r +Thu Apr 11 12:42:13 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp4sjct71r ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4sjct71r +Thu Apr 11 12:42:13 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4sjct71r ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4sjct71r +Thu Apr 11 12:42:14 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:42:14 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_common/2024-04-11-12_42_53.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_common/2024-04-11-12_42_53.log new file mode 100644 index 00000000..b5188036 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_common/2024-04-11-12_42_53.log @@ -0,0 +1,918 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:42:53 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:53 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:56 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:56 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 27 22.3M 27 6219k 0 0 6106k 0 0:00:03 0:00:01 0:00:02 6103k 100 22.3M 100 22.3M 0 0 16.0M 0 0:00:01 0:00:01 --:--:-- 16.0M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:42:58 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:42:58 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: +7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% +(94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: +34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 (no binary for current host) slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 (no binary for current host) slug: gnu-plct-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 (no binary for current host) slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ '[' -d /var/lib/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-rv64ilp32-elf +gnu-plct-xthead +gnu-plct +gnu-upstream +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-rv64ilp32-elf/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240223.0-ruyi.20240224 (latest)' ++ '[' '!' -z ' - 0.20240223.0-ruyi.20240224 (latest)' ']' ++ pkgname=gnu-plct-rv64ilp32-elf ++ break ++ '[' -z gnu-plct-rv64ilp32-elf ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +fatal error: failed to fetch +'/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz': all source URLs +have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +fatal error: failed to fetch +'/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz': all source URLs +have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=coremark ++ mkdir source-test ++ cd source-test ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /var/lib/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 480k 0 --:--:-- --:--:-- --:--:-- 480k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'LICENSE.md +Makefile +README.md +barebones +core_list_join.c +core_main.c +core_matrix.c +core_state.c +core_util.c +coremark.h +cygwin +docs +linux +linux64 +simple' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:43:18 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:43:20 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:43:20 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 22 22.3M 22 5080k 0 0 5166k 0 0:00:04 --:--:-- 0:00:04 5162k 100 22.3M 100 22.3M 0 0 17.0M 0 0:00:01 0:00:01 --:--:-- 17.0M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:43:22 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:43:22 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:43:23 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:43:23 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:43:23 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_config/2024-04-11-12_56_45.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_config/2024-04-11-12_56_45.log new file mode 100644 index 00000000..b92375e8 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_config/2024-04-11-12_56_45.log @@ -0,0 +1,250 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:56:45 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:56:45 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:56:48 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:56:48 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 52 22.3M 52 11.7M 0 0 10.1M 0 0:00:02 0:00:01 0:00:01 10.1M 100 22.3M 100 22.3M 0 0 16.8M 0 0:00:01 0:00:01 --:--:-- 16.8M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:56:50 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:56:50 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ cfg_d=/var/lib/jenkins/.config/ruyi ++ cfg_f=/var/lib/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ cc_dir=/var/lib/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /var/lib/jenkins/.config/ruyi ']' ++ mkdir -p /var/lib/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting +objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting +objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting +objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% -:--:-- +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:56:53 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:56:53 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:56:53 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:56:53 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:56:53 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_device/2024-04-11-12_45_26.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_device/2024-04-11-12_45_26.log new file mode 100644 index 00000000..23b78757 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_device/2024-04-11-12_45_26.log @@ -0,0 +1,2672 @@ ++ source ./common/device_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:45:26 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:26 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:28 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:28 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 8 22.3M 8 1895k 0 0 2218k 0 0:00:10 --:--:-- 0:00:10 2217k 100 22.3M 100 22.3M 0 0 16.7M 0 0:00:01 0:00:01 --:--:-- 16.7M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:45:30 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:45:30 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting +objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting +objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting +objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting +objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% -:--:-- +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ tee ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 371211 +./common/device_lib.sh: line 49: kill: (371211) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 38086 23.4M 71.6M 116M 156M 197M 233M 270M 310M 348M 388M 402M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 38086 23.4M 71.6M 116M 156M 197M 233M 270M 310M 348M 388M 402M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 38086 =~ [0-9]+ ]] ++ [[ 38086 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 371317 +./common/device_lib.sh: line 49: kill: (371317) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 294k 33.1M 80.0M 117M 159M 202M 245M 289M 330M 376M 414M 457M 504M 548M 593M 627M 665M 704M 745M 787M 828M 872M 895M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 294k 33.1M 80.0M 117M 159M 202M 245M 289M 330M 376M 414M 457M 504M 548M 593M 627M 665M 704M 745M 787M 828M 872M 895M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 294k =~ [0-9]+ ]] ++ [[ 294k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 371455 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 239k 543k 1711k 6527k 10.8M 17.6M 21.5M 21.5M 21.5M 21.5M 21.8M 25.7M 30.0M 34.8M 38.7M 41.4M 42.6M 48.5M 52.7M 56.2M 62.6M 66.0M 70.1M 74.5M 79.2M 81.4M 86.5M 90.4M 95.5M 99.7M 103M 109M 114M 118M 122M 127M 132M 137M 142M 147M 153M 157M 163M 168M 174M 180M 185M 189M 193M 197M 203M 208M 209M for ' +++ echo Received Spent 0 0 0 0 239k 543k 1711k 6527k 10.8M 17.6M 21.5M 21.5M 21.5M 21.5M 21.8M 25.7M 30.0M 34.8M 38.7M 41.4M 42.6M 48.5M 52.7M 56.2M 62.6M 66.0M 70.1M 74.5M 79.2M 81.4M 86.5M 90.4M 95.5M 99.7M 103M 109M 114M 118M 122M 127M 132M 137M 142M 147M 153M 157M 163M 168M 174M 180M 185M 189M 193M 197M 203M 208M 209M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 239k =~ [0-9]+ ]] ++ [[ 239k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee +/jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh: line 196: 371453 Done nohup echo -e "$now_exec" + 371454 Exit 120 | ruyi device provision 2>&1 + 371455 Killed | tee > /tmp/ruyi_device/output ++ kill -9 371557 +./common/device_lib.sh: line 49: kill: (371557) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 5167k 38.0M 71.0M 103M 137M 176M 194M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 5167k 38.0M 71.0M 103M 137M 176M 194M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 5167k =~ [0-9]+ ]] ++ [[ 5167k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 /var/lib/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 371693 +./common/device_lib.sh: line 49: kill: (371693) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 3646k 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 3646k 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3646k =~ [0-9]+ ]] ++ [[ 3646k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 371797 +./common/device_lib.sh: line 49: kill: (371797) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 255k 35.5M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 255k 35.5M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 255k =~ [0-9]+ ]] ++ [[ 255k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 371921 +./common/device_lib.sh: line 49: kill: (371921) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 623k 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 623k 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 623k =~ [0-9]+ ]] ++ [[ 623k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 372026 +./common/device_lib.sh: line 49: kill: (372026) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 43612 19.0M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 43612 19.0M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 43612 =~ [0-9]+ ]] ++ [[ 43612 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 372161 +./common/device_lib.sh: line 49: kill: (372161) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 430k 39.0M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 430k 39.0M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 430k =~ [0-9]+ ]] ++ [[ 430k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf /var/lib/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi ++ rm -rf '/var/lib/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi ++ rm -rf '/var/lib/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /jenkins/workspace/ruyi-mugen_PR-3/logs/ruyi/ruyi_test_device/2024-04-11-12:54:52.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:54:52 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:54:52 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:54:52 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:54:52 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:54:52 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_device/2024-04-11-12_54_52.tar.gz b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_device/2024-04-11-12_54_52.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..dd6fe206c1bc6b3a5598e714508a03a0275e7dc7 GIT binary patch literal 5713 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 literal 0 HcmV?d00001 diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-12_42_40.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-12_42_40.log new file mode 100644 index 00000000..db81e530 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-11-12_42_40.log @@ -0,0 +1,296 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:42:40 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:40 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:43 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:43 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 22.3M 0 96918 0 0 178k 0 0:02:08 --:--:-- 0:02:08 178k 100 22.3M 100 22.3M 0 0 17.1M 0 0:00:01 0:00:01 --:--:-- 17.1M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:42:44 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:42:44 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% -:--:-- +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g +8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 24 40.5M 24 10.0M 0 0 9325k 0 0:00:04 0:00:01 0:00:03 9318k 100 40.5M 100 40.5M 0 0 22.9M 0 0:00:01 0:00:01 --:--:-- 22.9M +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-aarch64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-rv64ilp32-elf-0.202 +40223.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:42:53 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:42:53 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:42:53 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:42:53 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:42:53 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-12_56_10.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-12_56_10.log new file mode 100644 index 00000000..de937fa5 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-11-12_56_10.log @@ -0,0 +1,266 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:56:10 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:56:10 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:56:13 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:56:13 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 63 22.3M 63 14.2M 0 0 11.8M 0 0:00:01 0:00:01 --:--:-- 11.8M 100 22.3M 100 22.3M 0 0 15.3M 0 0:00:01 0:00:01 --:--:-- 15.3M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:56:15 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:56:15 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% -:--:-- +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-aarch +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-aarch6 +4-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 227M 0 91126 0 0 146k 0 0:26:30 --:--:-- 0:26:30 146k 6 227M 6 13.9M 0 0 8813k 0 0:00:26 0:00:01 0:00:25 8812k 22 227M 22 51.1M 0 0 19.2M 0 0:00:11 0:00:02 0:00:09 19.2M 36 227M 36 83.2M 0 0 23.2M 0 0:00:09 0:00:03 0:00:06 23.2M 52 227M 52 119M 0 0 25.9M 0 0:00:08 0:00:04 0:00:04 25.9M 68 227M 68 156M 0 0 27.7M 0 0:00:08 0:00:05 0:00:03 31.0M 84 227M 84 192M 0 0 29.1M 0 0:00:07 0:00:06 0:00:01 35.7M 100 227M 100 227M 0 0 29.8M 0 0:00:07 0:00:07 --:--:-- 35.5M 100 227M 100 227M 0 0 29.8M 0 0:00:07 0:00:07 --:--:-- 35.8M +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-aarch64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:56:44 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:56:44 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:56:44 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:56:44 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:56:44 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_llvm/2024-04-11-12_45_18.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_llvm/2024-04-11-12_45_18.log new file mode 100644 index 00000000..523a2661 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_llvm/2024-04-11-12_45_18.log @@ -0,0 +1,172 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:45:18 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:19 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:21 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:21 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 4 22.3M 4 920k 0 0 871k 0 0:00:26 0:00:01 0:00:25 871k 100 22.3M 100 22.3M 0 0 12.1M 0 0:00:01 0:00:01 --:--:-- 12.1M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:45:23 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:45:23 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' aarch64 == riscv64 ']' ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% -:--:-- +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No llvm-upstream available for current host aarch64, skip' ++ message='No llvm-upstream available for current host aarch64, skip' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'No llvm-upstream available for current host aarch64, skip' +Thu Apr 11 12:45:25 2024 - INFO - No llvm-upstream available for current host aarch64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:45:25 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:45:25 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:45:25 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_news/2024-04-11-12_45_02.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_news/2024-04-11-12_45_02.log new file mode 100644 index 00000000..c91c37c3 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_news/2024-04-11-12_45_02.log @@ -0,0 +1,234 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:45:03 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:03 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:06 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:06 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 71 22.3M 71 15.9M 0 0 12.7M 0 0:00:01 0:00:01 --:--:-- 12.7M 100 22.3M 100 22.3M 0 0 16.4M 0 0:00:01 0:00:01 --:--:-- 16.4M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:45:08 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:45:08 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:45:11 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:45:11 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:45:11 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:45:11 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:45:11 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_qemu/2024-04-11-12_45_12.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_qemu/2024-04-11-12_45_12.log new file mode 100644 index 00000000..a64d6a90 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_qemu/2024-04-11-12_45_12.log @@ -0,0 +1,167 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:45:12 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:12 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:14 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:45:14 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 22.3M 7 1705k 0 0 1987k 0 0:00:11 --:--:-- 0:00:11 1987k 100 22.3M 100 22.3M 0 0 16.6M 0 0:00:01 0:00:01 --:--:-- 16.6M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:45:16 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:45:16 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: +4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% -:--:-- +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No qemu-user-riscv-upstream available for current host aarch64, skip' ++ message='No qemu-user-riscv-upstream available for current host aarch64, skip' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'No qemu-user-riscv-upstream available for current host aarch64, skip' +Thu Apr 11 12:45:18 2024 - INFO - No qemu-user-riscv-upstream available for current host aarch64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:45:18 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:45:18 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:45:18 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_venv/2024-04-11-12_54_52.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_venv/2024-04-11-12_54_52.log new file mode 100644 index 00000000..6553f63e --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_venv/2024-04-11-12_54_52.log @@ -0,0 +1,270 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:54:52 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:54:52 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:54:55 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:54:56 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 22.3M 0 11584 0 0 14306 0 0:27:14 --:--:-- 0:27:14 14301 82 22.3M 82 18.5M 0 0 10.5M 0 0:00:02 0:00:01 0:00:01 10.5M 100 22.3M 100 22.3M 0 0 11.7M 0 0:00:01 0:00:01 --:--:-- 11.7M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:54:58 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:54:58 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-aarch +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-aarch6 +4-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 227M 0 88704 0 0 122k 0 0:31:42 --:--:-- 0:31:42 122k 9 227M 9 22.5M 0 0 12.9M 0 0:00:17 0:00:01 0:00:16 12.9M 25 227M 25 57.3M 0 0 21.4M 0 0:00:10 0:00:02 0:00:08 21.4M 41 227M 41 93.5M 0 0 25.3M 0 0:00:08 0:00:03 0:00:05 25.3M 58 227M 58 131M 0 0 27.8M 0 0:00:08 0:00:04 0:00:04 27.8M 73 227M 73 166M 0 0 28.7M 0 0:00:07 0:00:05 0:00:02 32.8M 87 227M 87 198M 0 0 29.6M 0 0:00:07 0:00:06 0:00:01 35.4M 100 227M 100 227M 0 0 30.5M 0 0:00:07 0:00:07 --:--:-- 35.7M +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-aarch64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:55:27 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:55:27 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:55:27 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:55:27 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:55:27 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xdg/2024-04-11-12_42_14.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xdg/2024-04-11-12_42_14.log new file mode 100644 index 00000000..ff3c865b --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xdg/2024-04-11-12_42_14.log @@ -0,0 +1,646 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:42:14 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:15 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:18 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:42:18 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 22.3M 0 67475 0 0 143k 0 0:02:38 --:--:-- 0:02:38 143k 100 22.3M 100 22.3M 0 0 17.1M 0 0:00:01 0:00:01 --:--:-- 17.1M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:42:19 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:42:19 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/var/lib/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/var/lib/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/var/lib/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/var/lib/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/var/lib/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/var/lib/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /var/lib/jenkins/.cache/ruyi_mugen_test /var/lib/jenkins/.local/share/ruyi_mugen_test /var/lib/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/var/lib/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/var/lib/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/var/lib/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/var/lib/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/var/lib/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/var/lib/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 (no binary for current host) slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 (no binary for current host) slug: gnu-plct-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 (no binary for current host) slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-rv64ilp32-elf +gnu-plct-xthead +gnu-plct +gnu-upstream +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-rv64ilp32-elf/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240223.0-ruyi.20240224 (latest)' ++ '[' '!' -z ' - 0.20240223.0-ruyi.20240224 (latest)' ']' ++ pkgname=gnu-plct-rv64ilp32-elf ++ break ++ '[' -z gnu-plct-rv64ilp32-elf ']' ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz to +/var/lib/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sou +rces-RV64ILP32-g8c718031673d-HOST-aarch64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 21 40.5M 21 8959k 0 0 7926k 0 0:00:05 0:00:01 0:00:04 7921k 100 40.5M 100 40.5M 0 0 22.7M 0 0:00:01 0:00:01 --:--:-- 22.6M +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-aarch64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/var/lib/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/aarch64/gnu-plct-rv6 +4ilp32-elf-0.20240223.0-ruyi.20240224 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /var/lib/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /var/lib/jenkins/.cache/ruyi_mugen_test /var/lib/jenkins/.local/share/ruyi_mugen_test /var/lib/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:42:33 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:42:33 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:42:33 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:42:33 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:42:33 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-11-12_55_27.log b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-11-12_55_27.log new file mode 100644 index 00000000..a1b3c5b5 --- /dev/null +++ b/20240408/logs/debian12-aarch64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-11-12_55_27.log @@ -0,0 +1,318 @@ ++ source ./common/common_lib.sh +++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Thu Apr 11 12:55:27 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:55:27 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:55:30 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Thu Apr 11 12:55:31 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=aarch64 ++ '[' aarch64 == riscv64 ']' ++ '[' aarch64 == aarch64 ']' ++ arch=arm64 ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.arm64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 22.3M 0 136k 0 0 169k 0 0:02:14 --:--:-- 0:02:14 169k 100 22.3M 100 22.3M 0 0 12.7M 0 0:00:01 0:00:01 --:--:-- 12.7M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Thu Apr 11 12:55:32 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Thu Apr 11 12:55:32 2024 - INFO - Start to run test. ++ mkdir qemu_test +mkdir: cannot create directory ‘qemu_test’: File exists ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% +(215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting +objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting +objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% +(325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% +(355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% +(384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% +(414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: +60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: +64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting +objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% +(554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% +(584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% +(613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing +objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% -:--:-- +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -n '' ']' ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/var/lib/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2. +8.0-HOST-aarch64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 289M 0 603k 0 0 834k 0 0:05:55 --:--:-- 0:05:55 834k 14 289M 14 41.2M 0 0 23.8M 0 0:00:12 0:00:01 0:00:11 23.8M 30 289M 30 87.6M 0 0 32.3M 0 0:00:08 0:00:02 0:00:06 32.3M 46 289M 46 134M 0 0 36.0M 0 0:00:08 0:00:03 0:00:05 36.0M 62 289M 62 180M 0 0 38.5M 0 0:00:07 0:00:04 0:00:03 38.5M 78 289M 78 228M 0 0 39.8M 0 0:00:07 0:00:05 0:00:02 45.5M 94 289M 94 275M 0 0 41.0M 0 0:00:07 0:00:06 0:00:01 47.0M 100 289M 100 289M 0 0 41.3M 0 0:00:07 0:00:07 --:--:-- 47.0M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-aarch64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/var/lib/jenkins/.local/share/ruyi/binaries/aarch64/gnu-plct-xthead-2.8.0-ruyi.2 +0240222 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/venv/sy +sroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /jenkins/workspace/ruyi-mugen_PR-3/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n '' ']' ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Thu Apr 11 12:56:09 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Thu Apr 11 12:56:09 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Thu Apr 11 12:56:09 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Thu Apr 11 12:56:09 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.cache/ +++ echo /var/lib/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/share +++ echo /var/lib/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.local/state +++ echo /var/lib/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/var/lib/jenkins/.config +++ echo /var/lib/jenkins/.config/ruyi ++ rm -rf /var/lib/jenkins/.cache//ruyi /var/lib/jenkins/.local/share/ruyi /var/lib/jenkins/.local/state/ruyi /var/lib/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /jenkins/workspace/ruyi-mugen_PR-3/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Thu Apr 11 12:56:10 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-02_50_24.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-02_50_24.log new file mode 100644 index 00000000..e255a647 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-02_50_24.log @@ -0,0 +1,206 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:50:24 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 02:50:25 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpoojhtec7 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpoojhtec7 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpoojhtec7 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpoojhtec7 +Wed Apr 10 02:50:43 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpoojhtec7 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 59806 0 0 195k 0 0:02:04 --:--:-- 0:02:04 195k 7 23.7M 7 1754k 0 0 1369k 0 0:00:17 0:00:01 0:00:16 1369k 12 23.7M 12 3114k 0 0 1362k 0 0:00:17 0:00:02 0:00:15 1362k 17 23.7M 17 4154k 0 0 1265k 0 0:00:19 0:00:03 0:00:16 1265k 20 23.7M 20 5002k 0 0 1164k 0 0:00:20 0:00:04 0:00:16 1164k 22 23.7M 22 5578k 0 0 1054k 0 0:00:23 0:00:05 0:00:18 1105k 26 23.7M 26 6362k 0 0 1013k 0 0:00:23 0:00:06 0:00:17 921k 32 23.7M 32 7818k 0 0 1073k 0 0:00:22 0:00:07 0:00:15 941k 35 23.7M 35 8746k 0 0 1056k 0 0:00:23 0:00:08 0:00:15 918k 38 23.7M 38 9338k 0 0 1004k 0 0:00:24 0:00:09 0:00:15 867k 40 23.7M 40 9786k 0 0 952k 0 0:00:25 0:00:10 0:00:15 843k 42 23.7M 42 10.0M 0 0 909k 0 0:00:26 0:00:11 0:00:15 779k 46 23.7M 46 11.1M 0 0 927k 0 0:00:26 0:00:12 0:00:14 715k 50 23.7M 50 12.1M 0 0 932k 0 0:00:26 0:00:13 0:00:13 727k 54 23.7M 54 13.0M 0 0 936k 0 0:00:25 0:00:14 0:00:11 808k 59 23.7M 59 14.1M 0 0 946k 0 0:00:25 0:00:15 0:00:10 934k 67 23.7M 67 15.9M 0 0 1002k 0 0:00:24 0:00:16 0:00:08 1213k 78 23.7M 78 18.5M 0 0 1100k 0 0:00:22 0:00:17 0:00:05 1526k 90 23.7M 90 21.5M 0 0 1205k 0 0:00:20 0:00:18 0:00:02 1931k 100 23.7M 100 23.7M 0 0 1277k 0 0:00:19 0:00:19 --:--:-- 2307k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:51:02 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:51:02 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:51:04 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:51:04 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:51:04 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpoojhtec7 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpoojhtec7 +Wed Apr 10 02:51:05 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpoojhtec7 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpoojhtec7 +Wed Apr 10 02:51:10 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:51:10 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-01_41_22.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-01_41_22.log new file mode 100644 index 00000000..4db94856 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-01_41_22.log @@ -0,0 +1,2944 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 01:41:22 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 01:41:22 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpz_zu2yw4 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpz_zu2yw4 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpz_zu2yw4 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpz_zu2yw4 +Wed Apr 10 01:43:10 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpz_zu2yw4 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 223k 0 0 397k 0 0:01:01 --:--:-- 0:01:01 398k 4 23.7M 4 1183k 0 0 756k 0 0:00:32 0:00:01 0:00:31 757k 10 23.7M 10 2495k 0 0 974k 0 0:00:24 0:00:02 0:00:22 974k 18 23.7M 18 4511k 0 0 1266k 0 0:00:19 0:00:03 0:00:16 1266k 26 23.7M 26 6479k 0 0 1419k 0 0:00:17 0:00:04 0:00:13 1419k 37 23.7M 37 9087k 0 0 1633k 0 0:00:14 0:00:05 0:00:09 1772k 50 23.7M 50 11.9M 0 0 1857k 0 0:00:13 0:00:06 0:00:07 2202k 62 23.7M 62 14.8M 0 0 2007k 0 0:00:12 0:00:07 0:00:05 2537k 74 23.7M 74 17.5M 0 0 2101k 0 0:00:11 0:00:08 0:00:03 2697k 85 23.7M 85 20.3M 0 0 2178k 0 0:00:11 0:00:09 0:00:02 2872k 97 23.7M 97 23.1M 0 0 2241k 0 0:00:10 0:00:10 --:--:-- 2918k 100 23.7M 100 23.7M 0 0 2243k 0 0:00:10 0:00:10 --:--:-- 2835k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 01:43:21 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 01:43:21 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting +objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting +objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting +objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 218k 0 0 744k 0 0:05:28 --:--:-- 0:05:28 744k 0 238M 0 2218k 0 0 1736k 0 0:02:20 0:00:01 0:02:19 1736k 1 238M 1 4394k 0 0 1910k 0 0:02:08 0:00:02 0:02:06 1911k 2 238M 2 6186k 0 0 1888k 0 0:02:09 0:00:03 0:02:06 1888k 3 238M 3 7434k 0 0 1738k 0 0:02:20 0:00:04 0:02:16 1738k 3 238M 3 8298k 0 0 1572k 0 0:02:35 0:00:05 0:02:30 1620k 3 238M 3 9226k 0 0 1468k 0 0:02:46 0:00:06 0:02:40 1400k 4 238M 4 10.0M 0 0 1411k 0 0:02:53 0:00:07 0:02:46 1180k 4 238M 4 11.5M 0 0 1431k 0 0:02:50 0:00:08 0:02:42 1132k 5 238M 5 13.2M 0 0 1456k 0 0:02:48 0:00:09 0:02:39 1216k 6 238M 6 14.5M 0 0 1447k 0 0:02:49 0:00:10 0:02:39 1315k 6 238M 6 15.8M 0 0 1438k 0 0:02:50 0:00:11 0:02:39 1399k 7 238M 7 17.0M 0 0 1425k 0 0:02:51 0:00:12 0:02:39 1446k 7 238M 7 18.1M 0 0 1401k 0 0:02:54 0:00:13 0:02:41 1350k 8 238M 8 20.0M 0 0 1437k 0 0:02:50 0:00:14 0:02:36 1402k 9 238M 9 21.5M 0 0 1445k 0 0:02:49 0:00:15 0:02:34 1442k 9 238M 9 23.3M 0 0 1466k 0 0:02:46 0:00:16 0:02:30 1529k 10 238M 10 25.2M 0 0 1494k 0 0:02:43 0:00:17 0:02:26 1664k 11 238M 11 27.1M 0 0 1518k 0 0:02:41 0:00:18 0:02:23 1830k 11 238M 11 28.5M 0 0 1513k 0 0:02:41 0:00:19 0:02:22 1729k 12 238M 12 29.9M 0 0 1512k 0 0:02:41 0:00:20 0:02:21 1715k 13 238M 13 31.1M 0 0 1501k 0 0:02:42 0:00:21 0:02:21 1616k 13 238M 13 32.4M 0 0 1492k 0 0:02:43 0:00:22 0:02:21 1486k 13 238M 13 33.4M 0 0 1468k 0 0:02:46 0:00:23 0:02:23 1287k 14 238M 14 34.2M 0 0 1444k 0 0:02:49 0:00:24 0:02:25 1174k 14 238M 14 35.3M 0 0 1433k 0 0:02:50 0:00:25 0:02:25 1112k 15 238M 15 37.3M 0 0 1455k 0 0:02:48 0:00:26 0:02:22 1257k 16 238M 16 39.8M 0 0 1494k 0 0:02:43 0:00:27 0:02:16 1505k 17 238M 17 41.2M 0 0 1408k 0 0:02:53 0:00:29 0:02:24 1200k 18 238M 18 43.9M 0 0 1486k 0 0:02:44 0:00:30 0:02:14 1660k 19 238M 19 45.9M 0 0 1501k 0 0:02:42 0:00:31 0:02:11 1787k 19 238M 19 47.0M 0 0 1491k 0 0:02:44 0:00:32 0:02:12 1650k 20 238M 20 48.4M 0 0 1491k 0 0:02:44 0:00:33 0:02:11 1477k 21 238M 21 50.3M 0 0 1503k 0 0:02:42 0:00:34 0:02:08 2163k 22 238M 22 52.9M 0 0 1535k 0 0:02:39 0:00:35 0:02:04 1831k 23 238M 23 56.0M 0 0 1581k 0 0:02:34 0:00:36 0:01:58 2085k 24 238M 24 58.6M 0 0 1612k 0 0:02:31 0:00:37 0:01:54 2391k 25 238M 25 61.1M 0 0 1637k 0 0:02:29 0:00:38 0:01:51 2604k 26 238M 26 63.5M 0 0 1657k 0 0:02:27 0:00:39 0:01:48 2713k 27 238M 27 65.8M 0 0 1674k 0 0:02:26 0:00:40 0:01:46 2656k 28 238M 28 68.7M 0 0 1705k 0 0:02:23 0:00:41 0:01:42 2605k 29 238M 29 71.0M 0 0 1721k 0 0:02:22 0:00:42 0:01:40 2534k 30 238M 30 73.3M 0 0 1736k 0 0:02:20 0:00:43 0:01:37 2495k 31 238M 31 75.7M 0 0 1752k 0 0:02:19 0:00:44 0:01:35 2494k 33 238M 33 78.9M 0 0 1785k 0 0:02:17 0:00:45 0:01:32 2678k 34 238M 34 82.1M 0 0 1818k 0 0:02:14 0:00:46 0:01:28 2748k 35 238M 35 84.8M 0 0 1838k 0 0:02:13 0:00:47 0:01:26 2828k 36 238M 36 86.9M 0 0 1844k 0 0:02:12 0:00:48 0:01:24 2785k 37 238M 37 88.9M 0 0 1847k 0 0:02:12 0:00:49 0:01:23 2691k 38 238M 38 91.1M 0 0 1856k 0 0:02:11 0:00:50 0:01:21 2502k 39 238M 39 93.4M 0 0 1866k 0 0:02:11 0:00:51 0:01:20 2316k 40 238M 40 95.8M 0 0 1878k 0 0:02:10 0:00:52 0:01:18 2255k 41 238M 41 98.8M 0 0 1899k 0 0:02:08 0:00:53 0:01:15 2422k 42 238M 42 101M 0 0 1920k 0 0:02:07 0:00:54 0:01:13 2635k 44 238M 44 105M 0 0 1949k 0 0:02:05 0:00:55 0:01:10 2876k 45 238M 45 109M 0 0 1986k 0 0:02:03 0:00:56 0:01:07 3208k 47 238M 47 112M 0 0 2008k 0 0:02:01 0:00:57 0:01:04 3373k 48 238M 48 115M 0 0 2031k 0 0:02:00 0:00:58 0:01:02 3436k 49 238M 49 118M 0 0 2054k 0 0:01:59 0:00:59 0:01:00 3513k 51 238M 51 122M 0 0 2073k 0 0:01:58 0:01:00 0:00:58 3446k 52 238M 52 125M 0 0 2092k 0 0:01:56 0:01:01 0:00:55 3287k 53 238M 53 128M 0 0 2115k 0 0:01:55 0:01:02 0:00:53 3333k 55 238M 55 132M 0 0 2139k 0 0:01:54 0:01:03 0:00:51 3404k 56 238M 56 135M 0 0 2163k 0 0:01:53 0:01:04 0:00:49 3452k 58 238M 58 139M 0 0 2195k 0 0:01:51 0:01:05 0:00:46 3667k 59 238M 59 142M 0 0 2202k 0 0:01:51 0:01:06 0:00:45 3548k 60 238M 60 145M 0 0 2217k 0 0:01:50 0:01:07 0:00:43 3489k 62 238M 62 148M 0 0 2233k 0 0:01:49 0:01:08 0:00:41 3417k 63 238M 63 151M 0 0 2239k 0 0:01:49 0:01:09 0:00:40 3219k 64 238M 64 154M 0 0 2255k 0 0:01:48 0:01:10 0:00:38 3040k 65 238M 65 156M 0 0 2253k 0 0:01:48 0:01:11 0:00:37 2941k 66 238M 66 158M 0 0 2248k 0 0:01:48 0:01:12 0:00:36 2676k 67 238M 67 160M 0 0 2240k 0 0:01:49 0:01:13 0:00:36 2341k 67 238M 67 162M 0 0 2234k 0 0:01:49 0:01:14 0:00:35 2161k 68 238M 68 163M 0 0 2228k 0 0:01:49 0:01:15 0:00:34 1841k 69 238M 69 166M 0 0 2231k 0 0:01:49 0:01:16 0:00:33 1905k 70 238M 70 168M 0 0 2235k 0 0:01:49 0:01:17 0:00:32 2033k 71 238M 71 171M 0 0 2239k 0 0:01:49 0:01:18 0:00:31 2218k 72 238M 72 174M 0 0 2247k 0 0:01:48 0:01:19 0:00:29 2449k 73 238M 73 176M 0 0 2253k 0 0:01:48 0:01:20 0:00:28 2634k 75 238M 75 180M 0 0 2268k 0 0:01:47 0:01:21 0:00:26 2841k 76 238M 76 183M 0 0 2282k 0 0:01:47 0:01:22 0:00:25 3014k 78 238M 78 186M 0 0 2297k 0 0:01:46 0:01:23 0:00:23 3203k 79 238M 79 190M 0 0 2311k 0 0:01:45 0:01:24 0:00:21 3314k 81 238M 81 194M 0 0 2331k 0 0:01:44 0:01:25 0:00:19 3577k 83 238M 83 198M 0 0 2354k 0 0:01:43 0:01:26 0:00:17 3748k 84 238M 84 202M 0 0 2370k 0 0:01:43 0:01:27 0:00:16 3823k 85 238M 85 205M 0 0 2380k 0 0:01:42 0:01:28 0:00:14 3776k 87 238M 87 208M 0 0 2385k 0 0:01:42 0:01:29 0:00:13 3645k 88 238M 88 211M 0 0 2397k 0 0:01:42 0:01:30 0:00:12 3526k 89 238M 89 214M 0 0 2411k 0 0:01:41 0:01:31 0:00:10 3399k 91 238M 91 217M 0 0 2416k 0 0:01:41 0:01:32 0:00:09 3222k 92 238M 92 221M 0 0 2429k 0 0:01:40 0:01:33 0:00:07 3292k 93 238M 93 224M 0 0 2439k 0 0:01:40 0:01:34 0:00:06 3397k 95 238M 95 227M 0 0 2447k 0 0:01:39 0:01:35 0:00:04 3353k 96 238M 96 231M 0 0 2457k 0 0:01:39 0:01:36 0:00:03 3292k 98 238M 98 234M 0 0 2470k 0 0:01:39 0:01:37 0:00:02 3462k 99 238M 99 237M 0 0 2479k 0 0:01:38 0:01:38 --:--:-- 3408k 100 238M 100 238M 0 0 2481k 0 0:01:38 0:01:38 --:--:-- 3401k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0' ++ retc=0 +++ awk '{print $NF}' +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 238M 0 218k 0 0 744k 0 0:05:28 --:--:-- 0:05:28 $'744k\r' 0 238M 0 2218k 0 0 1736k 0 0:02:20 0:00:01 0:02:19 $'1736k\r' 1 238M 1 4394k 0 0 1910k 0 0:02:08 0:00:02 0:02:06 $'1911k\r' 2 238M 2 6186k 0 0 1888k 0 0:02:09 0:00:03 0:02:06 $'1888k\r' 3 238M 3 7434k 0 0 1738k 0 0:02:20 0:00:04 0:02:16 $'1738k\r' 3 238M 3 8298k 0 0 1572k 0 0:02:35 0:00:05 0:02:30 $'1620k\r' 3 238M 3 9226k 0 0 1468k 0 0:02:46 0:00:06 0:02:40 $'1400k\r' 4 238M 4 10.0M 0 0 1411k 0 0:02:53 0:00:07 0:02:46 $'1180k\r' 4 238M 4 11.5M 0 0 1431k 0 0:02:50 0:00:08 0:02:42 $'1132k\r' 5 238M 5 13.2M 0 0 1456k 0 0:02:48 0:00:09 0:02:39 $'1216k\r' 6 238M 6 14.5M 0 0 1447k 0 0:02:49 0:00:10 0:02:39 $'1315k\r' 6 238M 6 15.8M 0 0 1438k 0 0:02:50 0:00:11 0:02:39 $'1399k\r' 7 238M 7 17.0M 0 0 1425k 0 0:02:51 0:00:12 0:02:39 $'1446k\r' 7 238M 7 18.1M 0 0 1401k 0 0:02:54 0:00:13 0:02:41 $'1350k\r' 8 238M 8 20.0M 0 0 1437k 0 0:02:50 0:00:14 0:02:36 $'1402k\r' 9 238M 9 21.5M 0 0 1445k 0 0:02:49 0:00:15 0:02:34 $'1442k\r' 9 238M 9 23.3M 0 0 1466k 0 0:02:46 0:00:16 0:02:30 $'1529k\r' 10 238M 10 25.2M 0 0 1494k 0 0:02:43 0:00:17 0:02:26 $'1664k\r' 11 238M 11 27.1M 0 0 1518k 0 0:02:41 0:00:18 0:02:23 $'1830k\r' 11 238M 11 28.5M 0 0 1513k 0 0:02:41 0:00:19 0:02:22 $'1729k\r' 12 238M 12 29.9M 0 0 1512k 0 0:02:41 0:00:20 0:02:21 $'1715k\r' 13 238M 13 31.1M 0 0 1501k 0 0:02:42 0:00:21 0:02:21 $'1616k\r' 13 238M 13 32.4M 0 0 1492k 0 0:02:43 0:00:22 0:02:21 $'1486k\r' 13 238M 13 33.4M 0 0 1468k 0 0:02:46 0:00:23 0:02:23 $'1287k\r' 14 238M 14 34.2M 0 0 1444k 0 0:02:49 0:00:24 0:02:25 $'1174k\r' 14 238M 14 35.3M 0 0 1433k 0 0:02:50 0:00:25 0:02:25 $'1112k\r' 15 238M 15 37.3M 0 0 1455k 0 0:02:48 0:00:26 0:02:22 $'1257k\r' 16 238M 16 39.8M 0 0 1494k 0 0:02:43 0:00:27 0:02:16 $'1505k\r' 17 238M 17 41.2M 0 0 1408k 0 0:02:53 0:00:29 0:02:24 $'1200k\r' 18 238M 18 43.9M 0 0 1486k 0 0:02:44 0:00:30 0:02:14 $'1660k\r' 19 238M 19 45.9M 0 0 1501k 0 0:02:42 0:00:31 0:02:11 $'1787k\r' 19 238M 19 47.0M 0 0 1491k 0 0:02:44 0:00:32 0:02:12 $'1650k\r' 20 238M 20 48.4M 0 0 1491k 0 0:02:44 0:00:33 0:02:11 $'1477k\r' 21 238M 21 50.3M 0 0 1503k 0 0:02:42 0:00:34 0:02:08 $'2163k\r' 22 238M 22 52.9M 0 0 1535k 0 0:02:39 0:00:35 0:02:04 $'1831k\r' 23 238M 23 56.0M 0 0 1581k 0 0:02:34 0:00:36 0:01:58 $'2085k\r' 24 238M 24 58.6M 0 0 1612k 0 0:02:31 0:00:37 0:01:54 $'2391k\r' 25 238M 25 61.1M 0 0 1637k 0 0:02:29 0:00:38 0:01:51 $'2604k\r' 26 238M 26 63.5M 0 0 1657k 0 0:02:27 0:00:39 0:01:48 $'2713k\r' 27 238M 27 65.8M 0 0 1674k 0 0:02:26 0:00:40 0:01:46 $'2656k\r' 28 238M 28 68.7M 0 0 1705k 0 0:02:23 0:00:41 0:01:42 $'2605k\r' 29 238M 29 71.0M 0 0 1721k 0 0:02:22 0:00:42 0:01:40 $'2534k\r' 30 238M 30 73.3M 0 0 1736k 0 0:02:20 0:00:43 0:01:37 $'2495k\r' 31 238M 31 75.7M 0 0 1752k 0 0:02:19 0:00:44 0:01:35 $'2494k\r' 33 238M 33 78.9M 0 0 1785k 0 0:02:17 0:00:45 0:01:32 $'2678k\r' 34 238M 34 82.1M 0 0 1818k 0 0:02:14 0:00:46 0:01:28 $'2748k\r' 35 238M 35 84.8M 0 0 1838k 0 0:02:13 0:00:47 0:01:26 $'2828k\r' 36 238M 36 86.9M 0 0 1844k 0 0:02:12 0:00:48 0:01:24 $'2785k\r' 37 238M 37 88.9M 0 0 1847k 0 0:02:12 0:00:49 0:01:23 $'2691k\r' 38 238M 38 91.1M 0 0 1856k 0 0:02:11 0:00:50 0:01:21 $'2502k\r' 39 238M 39 93.4M 0 0 1866k 0 0:02:11 0:00:51 0:01:20 $'2316k\r' 40 238M 40 95.8M 0 0 1878k 0 0:02:10 0:00:52 0:01:18 $'2255k\r' 41 238M 41 98.8M 0 0 1899k 0 0:02:08 0:00:53 0:01:15 $'2422k\r' 42 238M 42 101M 0 0 1920k 0 0:02:07 0:00:54 0:01:13 $'2635k\r' 44 238M 44 105M 0 0 1949k 0 0:02:05 0:00:55 0:01:10 $'2876k\r' 45 238M 45 109M 0 0 1986k 0 0:02:03 0:00:56 0:01:07 $'3208k\r' 47 238M 47 112M 0 0 2008k 0 0:02:01 0:00:57 0:01:04 $'3373k\r' 48 238M 48 115M 0 0 2031k 0 0:02:00 0:00:58 0:01:02 $'3436k\r' 49 238M 49 118M 0 0 2054k 0 0:01:59 0:00:59 0:01:00 $'3513k\r' 51 238M 51 122M 0 0 2073k 0 0:01:58 0:01:00 0:00:58 $'3446k\r' 52 238M 52 125M 0 0 2092k 0 0:01:56 0:01:01 0:00:55 $'3287k\r' 53 238M 53 128M 0 0 2115k 0 0:01:55 0:01:02 0:00:53 $'3333k\r' 55 238M 55 132M 0 0 2139k 0 0:01:54 0:01:03 0:00:51 $'3404k\r' 56 238M 56 135M 0 0 2163k 0 0:01:53 0:01:04 0:00:49 $'3452k\r' 58 238M 58 139M 0 0 2195k 0 0:01:51 0:01:05 0:00:46 $'3667k\r' 59 238M 59 142M 0 0 2202k 0 0:01:51 0:01:06 0:00:45 $'3548k\r' 60 238M 60 145M 0 0 2217k 0 0:01:50 0:01:07 0:00:43 $'3489k\r' 62 238M 62 148M 0 0 2233k 0 0:01:49 0:01:08 0:00:41 $'3417k\r' 63 238M 63 151M 0 0 2239k 0 0:01:49 0:01:09 0:00:40 $'3219k\r' 64 238M 64 154M 0 0 2255k 0 0:01:48 0:01:10 0:00:38 $'3040k\r' 65 238M 65 156M 0 0 2253k 0 0:01:48 0:01:11 0:00:37 $'2941k\r' 66 238M 66 158M 0 0 2248k 0 0:01:48 0:01:12 0:00:36 $'2676k\r' 67 238M 67 160M 0 0 2240k 0 0:01:49 0:01:13 0:00:36 $'2341k\r' 67 238M 67 162M 0 0 2234k 0 0:01:49 0:01:14 0:00:35 $'2161k\r' 68 238M 68 163M 0 0 2228k 0 0:01:49 0:01:15 0:00:34 $'1841k\r' 69 238M 69 166M 0 0 2231k 0 0:01:49 0:01:16 0:00:33 $'1905k\r' 70 238M 70 168M 0 0 2235k 0 0:01:49 0:01:17 0:00:32 $'2033k\r' 71 238M 71 171M 0 0 2239k 0 0:01:49 0:01:18 0:00:31 $'2218k\r' 72 238M 72 174M 0 0 2247k 0 0:01:48 0:01:19 0:00:29 $'2449k\r' 73 238M 73 176M 0 0 2253k 0 0:01:48 0:01:20 0:00:28 $'2634k\r' 75 238M 75 180M 0 0 2268k 0 0:01:47 0:01:21 0:00:26 $'2841k\r' 76 238M 76 183M 0 0 2282k 0 0:01:47 0:01:22 0:00:25 $'3014k\r' 78 238M 78 186M 0 0 2297k 0 0:01:46 0:01:23 0:00:23 $'3203k\r' 79 238M 79 190M 0 0 2311k 0 0:01:45 0:01:24 0:00:21 $'3314k\r' 81 238M 81 194M 0 0 2331k 0 0:01:44 0:01:25 0:00:19 $'3577k\r' 83 238M 83 198M 0 0 2354k 0 0:01:43 0:01:26 0:00:17 $'3748k\r' 84 238M 84 202M 0 0 2370k 0 0:01:43 0:01:27 0:00:16 $'3823k\r' 85 238M 85 205M 0 0 2380k 0 0:01:42 0:01:28 0:00:14 $'3776k\r' 87 238M 87 208M 0 0 2385k 0 0:01:42 0:01:29 0:00:13 $'3645k\r' 88 238M 88 211M 0 0 2397k 0 0:01:42 0:01:30 0:00:12 $'3526k\r' 89 238M 89 214M 0 0 2411k 0 0:01:41 0:01:31 0:00:10 $'3399k\r' 91 238M 91 217M 0 0 2416k 0 0:01:41 0:01:32 0:00:09 $'3222k\r' 92 238M 92 221M 0 0 2429k 0 0:01:40 0:01:33 0:00:07 $'3292k\r' 93 238M 93 224M 0 0 2439k 0 0:01:40 0:01:34 0:00:06 $'3397k\r' 95 238M 95 227M 0 0 2447k 0 0:01:39 0:01:35 0:00:04 $'3353k\r' 96 238M 96 231M 0 0 2457k 0 0:01:39 0:01:36 0:00:03 $'3292k\r' 98 238M 98 234M 0 0 2470k 0 0:01:39 0:01:37 0:00:02 $'3462k\r' 99 238M 99 237M 0 0 2479k 0 0:01:38 0:01:38 --:--:-- $'3408k\r100' 238M 100 238M 0 0 2481k 0 0:01:38 0:01:38 --:--:-- 3401k info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 238M 0 218k 0 0 744k 0 0:05:28 --:--:-- 0:05:28 $'744k\r' 0 238M 0 2218k 0 0 1736k 0 0:02:20 0:00:01 0:02:19 $'1736k\r' 1 238M 1 4394k 0 0 1910k 0 0:02:08 0:00:02 0:02:06 $'1911k\r' 2 238M 2 6186k 0 0 1888k 0 0:02:09 0:00:03 0:02:06 $'1888k\r' 3 238M 3 7434k 0 0 1738k 0 0:02:20 0:00:04 0:02:16 $'1738k\r' 3 238M 3 8298k 0 0 1572k 0 0:02:35 0:00:05 0:02:30 $'1620k\r' 3 238M 3 9226k 0 0 1468k 0 0:02:46 0:00:06 0:02:40 $'1400k\r' 4 238M 4 10.0M 0 0 1411k 0 0:02:53 0:00:07 0:02:46 $'1180k\r' 4 238M 4 11.5M 0 0 1431k 0 0:02:50 0:00:08 0:02:42 $'1132k\r' 5 238M 5 13.2M 0 0 1456k 0 0:02:48 0:00:09 0:02:39 $'1216k\r' 6 238M 6 14.5M 0 0 1447k 0 0:02:49 0:00:10 0:02:39 $'1315k\r' 6 238M 6 15.8M 0 0 1438k 0 0:02:50 0:00:11 0:02:39 $'1399k\r' 7 238M 7 17.0M 0 0 1425k 0 0:02:51 0:00:12 0:02:39 $'1446k\r' 7 238M 7 18.1M 0 0 1401k 0 0:02:54 0:00:13 0:02:41 $'1350k\r' 8 238M 8 20.0M 0 0 1437k 0 0:02:50 0:00:14 0:02:36 $'1402k\r' 9 238M 9 21.5M 0 0 1445k 0 0:02:49 0:00:15 0:02:34 $'1442k\r' 9 238M 9 23.3M 0 0 1466k 0 0:02:46 0:00:16 0:02:30 $'1529k\r' 10 238M 10 25.2M 0 0 1494k 0 0:02:43 0:00:17 0:02:26 $'1664k\r' 11 238M 11 27.1M 0 0 1518k 0 0:02:41 0:00:18 0:02:23 $'1830k\r' 11 238M 11 28.5M 0 0 1513k 0 0:02:41 0:00:19 0:02:22 $'1729k\r' 12 238M 12 29.9M 0 0 1512k 0 0:02:41 0:00:20 0:02:21 $'1715k\r' 13 238M 13 31.1M 0 0 1501k 0 0:02:42 0:00:21 0:02:21 $'1616k\r' 13 238M 13 32.4M 0 0 1492k 0 0:02:43 0:00:22 0:02:21 $'1486k\r' 13 238M 13 33.4M 0 0 1468k 0 0:02:46 0:00:23 0:02:23 $'1287k\r' 14 238M 14 34.2M 0 0 1444k 0 0:02:49 0:00:24 0:02:25 $'1174k\r' 14 238M 14 35.3M 0 0 1433k 0 0:02:50 0:00:25 0:02:25 $'1112k\r' 15 238M 15 37.3M 0 0 1455k 0 0:02:48 0:00:26 0:02:22 $'1257k\r' 16 238M 16 39.8M 0 0 1494k 0 0:02:43 0:00:27 0:02:16 $'1505k\r' 17 238M 17 41.2M 0 0 1408k 0 0:02:53 0:00:29 0:02:24 $'1200k\r' 18 238M 18 43.9M 0 0 1486k 0 0:02:44 0:00:30 0:02:14 $'1660k\r' 19 238M 19 45.9M 0 0 1501k 0 0:02:42 0:00:31 0:02:11 $'1787k\r' 19 238M 19 47.0M 0 0 1491k 0 0:02:44 0:00:32 0:02:12 $'1650k\r' 20 238M 20 48.4M 0 0 1491k 0 0:02:44 0:00:33 0:02:11 $'1477k\r' 21 238M 21 50.3M 0 0 1503k 0 0:02:42 0:00:34 0:02:08 $'2163k\r' 22 238M 22 52.9M 0 0 1535k 0 0:02:39 0:00:35 0:02:04 $'1831k\r' 23 238M 23 56.0M 0 0 1581k 0 0:02:34 0:00:36 0:01:58 $'2085k\r' 24 238M 24 58.6M 0 0 1612k 0 0:02:31 0:00:37 0:01:54 $'2391k\r' 25 238M 25 61.1M 0 0 1637k 0 0:02:29 0:00:38 0:01:51 $'2604k\r' 26 238M 26 63.5M 0 0 1657k 0 0:02:27 0:00:39 0:01:48 $'2713k\r' 27 238M 27 65.8M 0 0 1674k 0 0:02:26 0:00:40 0:01:46 $'2656k\r' 28 238M 28 68.7M 0 0 1705k 0 0:02:23 0:00:41 0:01:42 $'2605k\r' 29 238M 29 71.0M 0 0 1721k 0 0:02:22 0:00:42 0:01:40 $'2534k\r' 30 238M 30 73.3M 0 0 1736k 0 0:02:20 0:00:43 0:01:37 $'2495k\r' 31 238M 31 75.7M 0 0 1752k 0 0:02:19 0:00:44 0:01:35 $'2494k\r' 33 238M 33 78.9M 0 0 1785k 0 0:02:17 0:00:45 0:01:32 $'2678k\r' 34 238M 34 82.1M 0 0 1818k 0 0:02:14 0:00:46 0:01:28 $'2748k\r' 35 238M 35 84.8M 0 0 1838k 0 0:02:13 0:00:47 0:01:26 $'2828k\r' 36 238M 36 86.9M 0 0 1844k 0 0:02:12 0:00:48 0:01:24 $'2785k\r' 37 238M 37 88.9M 0 0 1847k 0 0:02:12 0:00:49 0:01:23 $'2691k\r' 38 238M 38 91.1M 0 0 1856k 0 0:02:11 0:00:50 0:01:21 $'2502k\r' 39 238M 39 93.4M 0 0 1866k 0 0:02:11 0:00:51 0:01:20 $'2316k\r' 40 238M 40 95.8M 0 0 1878k 0 0:02:10 0:00:52 0:01:18 $'2255k\r' 41 238M 41 98.8M 0 0 1899k 0 0:02:08 0:00:53 0:01:15 $'2422k\r' 42 238M 42 101M 0 0 1920k 0 0:02:07 0:00:54 0:01:13 $'2635k\r' 44 238M 44 105M 0 0 1949k 0 0:02:05 0:00:55 0:01:10 $'2876k\r' 45 238M 45 109M 0 0 1986k 0 0:02:03 0:00:56 0:01:07 $'3208k\r' 47 238M 47 112M 0 0 2008k 0 0:02:01 0:00:57 0:01:04 $'3373k\r' 48 238M 48 115M 0 0 2031k 0 0:02:00 0:00:58 0:01:02 $'3436k\r' 49 238M 49 118M 0 0 2054k 0 0:01:59 0:00:59 0:01:00 $'3513k\r' 51 238M 51 122M 0 0 2073k 0 0:01:58 0:01:00 0:00:58 $'3446k\r' 52 238M 52 125M 0 0 2092k 0 0:01:56 0:01:01 0:00:55 $'3287k\r' 53 238M 53 128M 0 0 2115k 0 0:01:55 0:01:02 0:00:53 $'3333k\r' 55 238M 55 132M 0 0 2139k 0 0:01:54 0:01:03 0:00:51 $'3404k\r' 56 238M 56 135M 0 0 2163k 0 0:01:53 0:01:04 0:00:49 $'3452k\r' 58 238M 58 139M 0 0 2195k 0 0:01:51 0:01:05 0:00:46 $'3667k\r' 59 238M 59 142M 0 0 2202k 0 0:01:51 0:01:06 0:00:45 $'3548k\r' 60 238M 60 145M 0 0 2217k 0 0:01:50 0:01:07 0:00:43 $'3489k\r' 62 238M 62 148M 0 0 2233k 0 0:01:49 0:01:08 0:00:41 $'3417k\r' 63 238M 63 151M 0 0 2239k 0 0:01:49 0:01:09 0:00:40 $'3219k\r' 64 238M 64 154M 0 0 2255k 0 0:01:48 0:01:10 0:00:38 $'3040k\r' 65 238M 65 156M 0 0 2253k 0 0:01:48 0:01:11 0:00:37 $'2941k\r' 66 238M 66 158M 0 0 2248k 0 0:01:48 0:01:12 0:00:36 $'2676k\r' 67 238M 67 160M 0 0 2240k 0 0:01:49 0:01:13 0:00:36 $'2341k\r' 67 238M 67 162M 0 0 2234k 0 0:01:49 0:01:14 0:00:35 $'2161k\r' 68 238M 68 163M 0 0 2228k 0 0:01:49 0:01:15 0:00:34 $'1841k\r' 69 238M 69 166M 0 0 2231k 0 0:01:49 0:01:16 0:00:33 $'1905k\r' 70 238M 70 168M 0 0 2235k 0 0:01:49 0:01:17 0:00:32 $'2033k\r' 71 238M 71 171M 0 0 2239k 0 0:01:49 0:01:18 0:00:31 $'2218k\r' 72 238M 72 174M 0 0 2247k 0 0:01:48 0:01:19 0:00:29 $'2449k\r' 73 238M 73 176M 0 0 2253k 0 0:01:48 0:01:20 0:00:28 $'2634k\r' 75 238M 75 180M 0 0 2268k 0 0:01:47 0:01:21 0:00:26 $'2841k\r' 76 238M 76 183M 0 0 2282k 0 0:01:47 0:01:22 0:00:25 $'3014k\r' 78 238M 78 186M 0 0 2297k 0 0:01:46 0:01:23 0:00:23 $'3203k\r' 79 238M 79 190M 0 0 2311k 0 0:01:45 0:01:24 0:00:21 $'3314k\r' 81 238M 81 194M 0 0 2331k 0 0:01:44 0:01:25 0:00:19 $'3577k\r' 83 238M 83 198M 0 0 2354k 0 0:01:43 0:01:26 0:00:17 $'3748k\r' 84 238M 84 202M 0 0 2370k 0 0:01:43 0:01:27 0:00:16 $'3823k\r' 85 238M 85 205M 0 0 2380k 0 0:01:42 0:01:28 0:00:14 $'3776k\r' 87 238M 87 208M 0 0 2385k 0 0:01:42 0:01:29 0:00:13 $'3645k\r' 88 238M 88 211M 0 0 2397k 0 0:01:42 0:01:30 0:00:12 $'3526k\r' 89 238M 89 214M 0 0 2411k 0 0:01:41 0:01:31 0:00:10 $'3399k\r' 91 238M 91 217M 0 0 2416k 0 0:01:41 0:01:32 0:00:09 $'3222k\r' 92 238M 92 221M 0 0 2429k 0 0:01:40 0:01:33 0:00:07 $'3292k\r' 93 238M 93 224M 0 0 2439k 0 0:01:40 0:01:34 0:00:06 $'3397k\r' 95 238M 95 227M 0 0 2447k 0 0:01:39 0:01:35 0:00:04 $'3353k\r' 96 238M 96 231M 0 0 2457k 0 0:01:39 0:01:36 0:00:03 $'3292k\r' 98 238M 98 234M 0 0 2470k 0 0:01:39 0:01:37 0:00:02 $'3462k\r' 99 238M 99 237M 0 0 2479k 0 0:01:38 0:01:38 --:--:-- $'3408k\r100' 238M 100 238M 0 0 2481k 0 0:01:38 0:01:38 --:--:-- 3401k info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0ff86e2800f7e11a3128e567a2d8b000cbf4a713, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x00007ffe69bb2000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f61b11ab000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f61b0fca000) + /lib64/ld-linux-x86-64.so.2 (0x00007f61b12d9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2175afe16c672249f8fd4db8a7032c7f4f89a2af, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00007fff427a8000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb9573fa000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb957219000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb95752f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73da7e46ec0c9cae37a62209630b1ad35bfab6b7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00007ffd6e591000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f68e83f8000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f68e8217000) + /lib64/ld-linux-x86-64.so.2 (0x00007f68e85d9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00007fff7b8fe000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe7f5a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe7f5be8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a13377b5b9f486ad8611315353362c659052be30, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffca0939000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f167a17b000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1679f9a000) + /lib64/ld-linux-x86-64.so.2 (0x00007f167a2b0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=72577a0fc73c81cc30e3f54daf7d2e6ac16827ba, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffd755a5000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f02a69fe000) + /lib64/ld-linux-x86-64.so.2 (0x00007f02a6be6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c566a5bada78e0b87b97ae9c33d6f4ac8b9e2ebb, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffc219b0000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6bbe7c4000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6bbe9b8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffdfc1f4000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3cf195f000) + /lib64/ld-linux-x86-64.so.2 (0x00007f3cf1b47000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffff2bd8000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fccaa5d0000) + /lib64/ld-linux-x86-64.so.2 (0x00007fccaa7b8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00007ffca9889000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe2100e1000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe2102c9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f758862ad25799082d6a801946bd5a68c1adf0ef, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007fff212a1000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f027b4a4000) + /lib64/ld-linux-x86-64.so.2 (0x00007f027b68c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b979aa47138752a4f812e2640cbf1790e940ec46, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007fff0d7ae000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8c87c0f000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8c87df7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep executable ++ grep ELF ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e8d26a705fcdfaec505495eb0b88bca472cd3a9d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffee29f8000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5d2b617000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5d2b7ff000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ebc219e73811ca8a6a46ac5ee0e73dcb78b3139c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffe245d7000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f87d5d10000) + /lib64/ld-linux-x86-64.so.2 (0x00007f87d5ef8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=82b6b95e63c1d541743068f0ef8737a24f9b28d9, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffd12a5f000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa18f17a000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa18f362000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=022ab27b710146427a2f09b4c72f915b5cfea96f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffe0a7f6000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbde9ec1000) + /lib64/ld-linux-x86-64.so.2 (0x00007fbdea0a9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5063ceae8548251c7fe77b887db847500500af0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x00007ffdcf51d000) + libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x00007f5bf4fc6000) + libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f5bf5a4e000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5bf4fc1000) + liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f5bf4f92000) + libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5bf4c00000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5bf4eb3000) + libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5bf4e93000) + libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5bf4e8e000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5bf4a1f000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5bf5a88000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bd1481439adec32395663c8e8e2f48309095269, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffd7cff7000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5849ac8000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5849cb0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7ba75731dae53aa328f2e9be718cd018c43b9bfe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00007fffe6892000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f57ca3db000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57ca1fa000) + /lib64/ld-linux-x86-64.so.2 (0x00007f57ca5c5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00007ffe76b46000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fde2918d000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fde28c1f000) + /lib64/ld-linux-x86-64.so.2 (0x00007fde29199000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffc983bc000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faf0945c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faf08e1f000) + /lib64/ld-linux-x86-64.so.2 (0x00007faf09468000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=89135e7c6bb6f2c6ec334465f432a3334849ff39, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffd4d9cb000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f98614de000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f98613ff000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f986121e000) + /lib64/ld-linux-x86-64.so.2 (0x00007f98614ea000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a7f8774c46ba3b3fb4673d9afcf1f3ca5b7d81ed, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00007fffb3bca000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6d4a6fa000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6d4a519000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6d4a82d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bf929f4a25a483d3f39ec7a6e076a930258423e5, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00007fff6666e000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff1ebad1000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff1eb8f0000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff1ebc24000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=90ea9b74c2a07351f4850c027d8273369bc0f8de, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffce0696000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fef7dfe2000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fef7da1f000) + /lib64/ld-linux-x86-64.so.2 (0x00007fef7dfee000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=32baa2fc2c2afb863110ce5be9cbfb534ed9ab3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffc71df2000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f11a7aa1000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f11a78c0000) + /lib64/ld-linux-x86-64.so.2 (0x00007f11a7bd6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46a8f121c47196be8de92c76309f09efe41e2ff2, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00007ffe14f56000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007eff71b48000) + /lib64/ld-linux-x86-64.so.2 (0x00007eff71e33000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3839019e395b24979c16ad2ef0474f548a7fa9fe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00007fff20786000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f795693c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f795675b000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7956a6a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1cf7f23ae18f661e32545c07e829d91557b1a347, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00007ffce0fcf000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f635e4ca000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f635e2e9000) + /lib64/ld-linux-x86-64.so.2 (0x00007f635e5f9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=24feb89de7b69ed47938f4bcefffe103bb1b055e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00007ffe84be3000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fadf7783000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fadf75a2000) + /lib64/ld-linux-x86-64.so.2 (0x00007fadf78d6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 47.2M 1 958k 0 0 2392k 0 0:00:20 --:--:-- 0:00:20 2397k 10 47.2M 10 5102k 0 0 3645k 0 0:00:13 0:00:01 0:00:12 3647k 14 47.2M 14 6782k 0 0 2801k 0 0:00:17 0:00:02 0:00:15 2801k 15 47.2M 15 7598k 0 0 2236k 0 0:00:21 0:00:03 0:00:18 2236k 18 47.2M 18 8718k 0 0 1982k 0 0:00:24 0:00:04 0:00:20 1982k 21 47.2M 21 10.2M 0 0 1249k 0 0:00:38 0:00:08 0:00:30 1192k 28 47.2M 28 13.5M 0 0 1471k 0 0:00:32 0:00:09 0:00:23 1092k 30 47.2M 30 14.5M 0 0 1436k 0 0:00:33 0:00:10 0:00:23 1022k 35 47.2M 35 16.5M 0 0 1486k 0 0:00:32 0:00:11 0:00:21 1168k 41 47.2M 41 19.4M 0 0 1602k 0 0:00:30 0:00:12 0:00:18 1393k 48 47.2M 48 23.1M 0 0 1768k 0 0:00:27 0:00:13 0:00:14 2649k 58 47.2M 58 27.7M 0 0 1976k 0 0:00:24 0:00:14 0:00:10 2938k 70 47.2M 70 33.3M 0 0 2216k 0 0:00:21 0:00:15 0:00:06 3837k 83 47.2M 83 39.6M 0 0 2476k 0 0:00:19 0:00:16 0:00:03 4732k 99 47.2M 99 46.9M 0 0 2760k 0 0:00:17 0:00:17 --:--:-- 5632k 100 47.2M 100 47.2M 0 0 2774k 0 0:00:17 0:00:17 --:--:-- 6107k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 47.2M 1 958k 0 0 2392k 0 0:00:20 --:--:-- 0:00:20 $'2397k\r' 10 47.2M 10 5102k 0 0 3645k 0 0:00:13 0:00:01 0:00:12 $'3647k\r' 14 47.2M 14 6782k 0 0 2801k 0 0:00:17 0:00:02 0:00:15 $'2801k\r' 15 47.2M 15 7598k 0 0 2236k 0 0:00:21 0:00:03 0:00:18 $'2236k\r' 18 47.2M 18 8718k 0 0 1982k 0 0:00:24 0:00:04 0:00:20 $'1982k\r' 21 47.2M 21 10.2M 0 0 1249k 0 0:00:38 0:00:08 0:00:30 $'1192k\r' 28 47.2M 28 13.5M 0 0 1471k 0 0:00:32 0:00:09 0:00:23 $'1092k\r' 30 47.2M 30 14.5M 0 0 1436k 0 0:00:33 0:00:10 0:00:23 $'1022k\r' 35 47.2M 35 16.5M 0 0 1486k 0 0:00:32 0:00:11 0:00:21 $'1168k\r' 41 47.2M 41 19.4M 0 0 1602k 0 0:00:30 0:00:12 0:00:18 $'1393k\r' 48 47.2M 48 23.1M 0 0 1768k 0 0:00:27 0:00:13 0:00:14 $'2649k\r' 58 47.2M 58 27.7M 0 0 1976k 0 0:00:24 0:00:14 0:00:10 $'2938k\r' 70 47.2M 70 33.3M 0 0 2216k 0 0:00:21 0:00:15 0:00:06 $'3837k\r' 83 47.2M 83 39.6M 0 0 2476k 0 0:00:19 0:00:16 0:00:03 $'4732k\r' 99 47.2M 99 46.9M 0 0 2760k 0 0:00:17 0:00:17 --:--:-- $'5632k\r100' 47.2M 100 47.2M 0 0 2774k 0 0:00:17 0:00:17 --:--:-- 6107k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=3.0-ruyi.20240224 ++ bpb=3.0-ruyi.20240224/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 47.2M 1 958k 0 0 2392k 0 0:00:20 --:--:-- 0:00:20 $'2397k\r' 10 47.2M 10 5102k 0 0 3645k 0 0:00:13 0:00:01 0:00:12 $'3647k\r' 14 47.2M 14 6782k 0 0 2801k 0 0:00:17 0:00:02 0:00:15 $'2801k\r' 15 47.2M 15 7598k 0 0 2236k 0 0:00:21 0:00:03 0:00:18 $'2236k\r' 18 47.2M 18 8718k 0 0 1982k 0 0:00:24 0:00:04 0:00:20 $'1982k\r' 21 47.2M 21 10.2M 0 0 1249k 0 0:00:38 0:00:08 0:00:30 $'1192k\r' 28 47.2M 28 13.5M 0 0 1471k 0 0:00:32 0:00:09 0:00:23 $'1092k\r' 30 47.2M 30 14.5M 0 0 1436k 0 0:00:33 0:00:10 0:00:23 $'1022k\r' 35 47.2M 35 16.5M 0 0 1486k 0 0:00:32 0:00:11 0:00:21 $'1168k\r' 41 47.2M 41 19.4M 0 0 1602k 0 0:00:30 0:00:12 0:00:18 $'1393k\r' 48 47.2M 48 23.1M 0 0 1768k 0 0:00:27 0:00:13 0:00:14 $'2649k\r' 58 47.2M 58 27.7M 0 0 1976k 0 0:00:24 0:00:14 0:00:10 $'2938k\r' 70 47.2M 70 33.3M 0 0 2216k 0 0:00:21 0:00:15 0:00:06 $'3837k\r' 83 47.2M 83 39.6M 0 0 2476k 0 0:00:19 0:00:16 0:00:03 $'4732k\r' 99 47.2M 99 46.9M 0 0 2760k 0 0:00:17 0:00:17 --:--:-- $'5632k\r100' 47.2M 100 47.2M 0 0 2774k 0 0:00:17 0:00:17 --:--:-- 6107k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 3.0-ruyi.20240224 ']' ++ '[' '!' -d 3.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 1737k 0 0 2017k 0 0:02:36 --:--:-- 0:02:36 2017k 1 308M 1 4825k 0 0 2593k 0 0:02:01 0:00:01 0:02:00 2594k 2 308M 2 7945k 0 0 2777k 0 0:01:53 0:00:02 0:01:51 2777k 3 308M 3 10.3M 0 0 2746k 0 0:01:54 0:00:03 0:01:51 2746k 4 308M 4 12.6M 0 0 2664k 0 0:01:58 0:00:04 0:01:54 2664k 4 308M 4 15.2M 0 0 2663k 0 0:01:58 0:00:05 0:01:53 2774k 5 308M 5 18.1M 0 0 2702k 0 0:01:56 0:00:06 0:01:50 2742k 6 308M 6 20.5M 0 0 2675k 0 0:01:58 0:00:07 0:01:51 2617k 7 308M 7 22.6M 0 0 2622k 0 0:02:00 0:00:08 0:01:52 2528k 8 308M 8 24.7M 0 0 2574k 0 0:02:02 0:00:09 0:01:53 2486k 8 308M 8 26.4M 0 0 2490k 0 0:02:06 0:00:10 0:01:56 2288k 8 308M 8 27.6M 0 0 2391k 0 0:02:12 0:00:11 0:02:01 1964k 9 308M 9 29.2M 0 0 2327k 0 0:02:15 0:00:12 0:02:03 1779k 10 308M 10 31.0M 0 0 2296k 0 0:02:17 0:00:13 0:02:04 1718k 10 308M 10 32.6M 0 0 2247k 0 0:02:20 0:00:14 0:02:06 1602k 11 308M 11 34.6M 0 0 2239k 0 0:02:20 0:00:15 0:02:05 1695k 11 308M 11 36.1M 0 0 1953k 0 0:02:41 0:00:18 0:02:23 1224k 13 308M 13 42.0M 0 0 2166k 0 0:02:25 0:00:19 0:02:06 1871k 14 308M 14 45.2M 0 0 2220k 0 0:02:22 0:00:20 0:02:02 2070k 16 308M 16 50.1M 0 0 1796k 0 0:02:55 0:00:28 0:02:27 1308k 16 308M 16 51.1M 0 0 1566k 0 0:03:21 0:00:33 0:02:48 959k 16 308M 16 52.2M 0 0 1533k 0 0:03:25 0:00:34 0:02:51 1031k 18 308M 18 58.0M 0 0 1653k 0 0:03:10 0:00:35 0:02:35 1018k 18 308M 18 58.3M 0 0 1619k 0 0:03:14 0:00:36 0:02:38 835k 19 308M 19 59.1M 0 0 1598k 0 0:03:17 0:00:37 0:02:40 988k 19 308M 19 60.5M 0 0 1595k 0 0:03:17 0:00:38 0:02:39 1773k 20 308M 20 62.8M 0 0 1614k 0 0:03:15 0:00:39 0:02:36 2187k 21 308M 21 66.0M 0 0 1654k 0 0:03:10 0:00:40 0:02:30 1663k 22 308M 22 69.9M 0 0 1712k 0 0:03:04 0:00:41 0:02:23 2396k 24 308M 24 74.8M 0 0 1787k 0 0:02:56 0:00:42 0:02:14 3222k 26 308M 26 80.4M 0 0 1878k 0 0:02:48 0:00:43 0:02:05 4076k 27 308M 27 84.9M 0 0 1912k 0 0:02:45 0:00:45 0:02:00 4014k 29 308M 29 89.8M 0 0 2007k 0 0:02:37 0:00:45 0:01:52 4889k 30 308M 30 93.0M 0 0 2033k 0 0:02:35 0:00:46 0:01:49 4724k 31 308M 31 97.0M 0 0 2075k 0 0:02:32 0:00:47 0:01:45 4544k 33 308M 33 101M 0 0 2133k 0 0:02:27 0:00:48 0:01:39 4374k 34 308M 34 105M 0 0 2040k 0 0:02:34 0:00:53 0:01:41 2813k 37 308M 37 116M 0 0 2209k 0 0:02:22 0:00:53 0:01:29 3369k 38 308M 38 119M 0 0 2237k 0 0:02:21 0:00:54 0:01:27 3430k 40 308M 40 124M 0 0 2280k 0 0:02:18 0:00:55 0:01:23 3508k 41 308M 41 129M 0 0 2324k 0 0:02:15 0:00:56 0:01:19 3493k 42 308M 42 130M 0 0 2315k 0 0:02:16 0:00:57 0:01:19 5356k 42 308M 42 131M 0 0 2282k 0 0:02:18 0:00:58 0:01:20 3064k 42 308M 42 131M 0 0 2252k 0 0:02:20 0:00:59 0:01:21 2419k 42 308M 42 132M 0 0 2224k 0 0:02:21 0:01:00 0:01:21 1590k 43 308M 43 133M 0 0 1913k 0 0:02:45 0:01:11 0:01:34 314k 46 308M 46 142M 0 0 2032k 0 0:02:35 0:01:11 0:01:24 866k 47 308M 47 146M 0 0 2065k 0 0:02:32 0:01:12 0:01:20 1151k 49 308M 49 152M 0 0 2108k 0 0:02:29 0:01:13 0:01:16 1490k 51 308M 51 158M 0 0 2161k 0 0:02:26 0:01:14 0:01:12 1888k 53 308M 53 164M 0 0 2224k 0 0:02:21 0:01:15 0:01:06 7324k 55 308M 55 172M 0 0 2296k 0 0:02:17 0:01:16 0:01:01 6090k 58 308M 58 180M 0 0 2377k 0 0:02:12 0:01:17 0:00:55 6931k 60 308M 60 187M 0 0 2436k 0 0:02:09 0:01:18 0:00:51 7289k 62 308M 62 193M 0 0 2475k 0 0:02:07 0:01:19 0:00:48 7180k 64 308M 64 198M 0 0 2516k 0 0:02:05 0:01:20 0:00:45 6949k 66 308M 66 204M 0 0 2555k 0 0:02:03 0:01:21 0:00:42 6531k 68 308M 68 209M 0 0 2592k 0 0:02:01 0:01:22 0:00:39 5932k 69 308M 69 214M 0 0 2617k 0 0:02:00 0:01:23 0:00:37 5459k 71 308M 71 219M 0 0 2643k 0 0:01:59 0:01:24 0:00:35 5327k 72 308M 72 224M 0 0 2673k 0 0:01:58 0:01:25 0:00:33 5212k 73 308M 73 228M 0 0 2688k 0 0:01:57 0:01:26 0:00:31 4873k 74 308M 74 230M 0 0 2691k 0 0:01:57 0:01:27 0:00:30 4336k 75 308M 75 233M 0 0 2696k 0 0:01:57 0:01:28 0:00:29 4028k 76 308M 76 236M 0 0 2699k 0 0:01:56 0:01:29 0:00:27 3650k 77 308M 77 239M 0 0 2698k 0 0:01:57 0:01:30 0:00:27 3123k 78 308M 78 241M 0 0 2686k 0 0:01:57 0:01:31 0:00:26 2656k 78 308M 78 243M 0 0 2682k 0 0:01:57 0:01:32 0:00:25 2524k 79 308M 79 246M 0 0 2688k 0 0:01:57 0:01:33 0:00:24 2544k 81 308M 81 250M 0 0 2703k 0 0:01:56 0:01:34 0:00:22 2761k 82 308M 82 255M 0 0 2724k 0 0:01:55 0:01:35 0:00:20 3193k 84 308M 84 259M 0 0 2747k 0 0:01:54 0:01:36 0:00:18 3856k 86 308M 86 265M 0 0 2778k 0 0:01:53 0:01:37 0:00:16 4560k 87 308M 87 270M 0 0 2803k 0 0:01:52 0:01:38 0:00:14 4963k 89 308M 89 275M 0 0 2827k 0 0:01:51 0:01:39 0:00:12 5180k 91 308M 91 281M 0 0 2860k 0 0:01:50 0:01:40 0:00:10 5475k 93 308M 93 287M 0 0 2890k 0 0:01:49 0:01:41 0:00:08 5667k 95 308M 95 293M 0 0 2920k 0 0:01:48 0:01:42 0:00:06 5705k 97 308M 97 299M 0 0 2952k 0 0:01:46 0:01:43 0:00:03 5897k 99 308M 99 305M 0 0 2984k 0 0:01:45 0:01:44 0:00:01 6118k 100 308M 100 308M 0 0 2999k 0 0:01:45 0:01:45 --:--:-- 6175k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 1737k 0 0 2017k 0 0:02:36 --:--:-- 0:02:36 $'2017k\r' 1 308M 1 4825k 0 0 2593k 0 0:02:01 0:00:01 0:02:00 $'2594k\r' 2 308M 2 7945k 0 0 2777k 0 0:01:53 0:00:02 0:01:51 $'2777k\r' 3 308M 3 10.3M 0 0 2746k 0 0:01:54 0:00:03 0:01:51 $'2746k\r' 4 308M 4 12.6M 0 0 2664k 0 0:01:58 0:00:04 0:01:54 $'2664k\r' 4 308M 4 15.2M 0 0 2663k 0 0:01:58 0:00:05 0:01:53 $'2774k\r' 5 308M 5 18.1M 0 0 2702k 0 0:01:56 0:00:06 0:01:50 $'2742k\r' 6 308M 6 20.5M 0 0 2675k 0 0:01:58 0:00:07 0:01:51 $'2617k\r' 7 308M 7 22.6M 0 0 2622k 0 0:02:00 0:00:08 0:01:52 $'2528k\r' 8 308M 8 24.7M 0 0 2574k 0 0:02:02 0:00:09 0:01:53 $'2486k\r' 8 308M 8 26.4M 0 0 2490k 0 0:02:06 0:00:10 0:01:56 $'2288k\r' 8 308M 8 27.6M 0 0 2391k 0 0:02:12 0:00:11 0:02:01 $'1964k\r' 9 308M 9 29.2M 0 0 2327k 0 0:02:15 0:00:12 0:02:03 $'1779k\r' 10 308M 10 31.0M 0 0 2296k 0 0:02:17 0:00:13 0:02:04 $'1718k\r' 10 308M 10 32.6M 0 0 2247k 0 0:02:20 0:00:14 0:02:06 $'1602k\r' 11 308M 11 34.6M 0 0 2239k 0 0:02:20 0:00:15 0:02:05 $'1695k\r' 11 308M 11 36.1M 0 0 1953k 0 0:02:41 0:00:18 0:02:23 $'1224k\r' 13 308M 13 42.0M 0 0 2166k 0 0:02:25 0:00:19 0:02:06 $'1871k\r' 14 308M 14 45.2M 0 0 2220k 0 0:02:22 0:00:20 0:02:02 $'2070k\r' 16 308M 16 50.1M 0 0 1796k 0 0:02:55 0:00:28 0:02:27 $'1308k\r' 16 308M 16 51.1M 0 0 1566k 0 0:03:21 0:00:33 0:02:48 $'959k\r' 16 308M 16 52.2M 0 0 1533k 0 0:03:25 0:00:34 0:02:51 $'1031k\r' 18 308M 18 58.0M 0 0 1653k 0 0:03:10 0:00:35 0:02:35 $'1018k\r' 18 308M 18 58.3M 0 0 1619k 0 0:03:14 0:00:36 0:02:38 $'835k\r' 19 308M 19 59.1M 0 0 1598k 0 0:03:17 0:00:37 0:02:40 $'988k\r' 19 308M 19 60.5M 0 0 1595k 0 0:03:17 0:00:38 0:02:39 $'1773k\r' 20 308M 20 62.8M 0 0 1614k 0 0:03:15 0:00:39 0:02:36 $'2187k\r' 21 308M 21 66.0M 0 0 1654k 0 0:03:10 0:00:40 0:02:30 $'1663k\r' 22 308M 22 69.9M 0 0 1712k 0 0:03:04 0:00:41 0:02:23 $'2396k\r' 24 308M 24 74.8M 0 0 1787k 0 0:02:56 0:00:42 0:02:14 $'3222k\r' 26 308M 26 80.4M 0 0 1878k 0 0:02:48 0:00:43 0:02:05 $'4076k\r' 27 308M 27 84.9M 0 0 1912k 0 0:02:45 0:00:45 0:02:00 $'4014k\r' 29 308M 29 89.8M 0 0 2007k 0 0:02:37 0:00:45 0:01:52 $'4889k\r' 30 308M 30 93.0M 0 0 2033k 0 0:02:35 0:00:46 0:01:49 $'4724k\r' 31 308M 31 97.0M 0 0 2075k 0 0:02:32 0:00:47 0:01:45 $'4544k\r' 33 308M 33 101M 0 0 2133k 0 0:02:27 0:00:48 0:01:39 $'4374k\r' 34 308M 34 105M 0 0 2040k 0 0:02:34 0:00:53 0:01:41 $'2813k\r' 37 308M 37 116M 0 0 2209k 0 0:02:22 0:00:53 0:01:29 $'3369k\r' 38 308M 38 119M 0 0 2237k 0 0:02:21 0:00:54 0:01:27 $'3430k\r' 40 308M 40 124M 0 0 2280k 0 0:02:18 0:00:55 0:01:23 $'3508k\r' 41 308M 41 129M 0 0 2324k 0 0:02:15 0:00:56 0:01:19 $'3493k\r' 42 308M 42 130M 0 0 2315k 0 0:02:16 0:00:57 0:01:19 $'5356k\r' 42 308M 42 131M 0 0 2282k 0 0:02:18 0:00:58 0:01:20 $'3064k\r' 42 308M 42 131M 0 0 2252k 0 0:02:20 0:00:59 0:01:21 $'2419k\r' 42 308M 42 132M 0 0 2224k 0 0:02:21 0:01:00 0:01:21 $'1590k\r' 43 308M 43 133M 0 0 1913k 0 0:02:45 0:01:11 0:01:34 $'314k\r' 46 308M 46 142M 0 0 2032k 0 0:02:35 0:01:11 0:01:24 $'866k\r' 47 308M 47 146M 0 0 2065k 0 0:02:32 0:01:12 0:01:20 $'1151k\r' 49 308M 49 152M 0 0 2108k 0 0:02:29 0:01:13 0:01:16 $'1490k\r' 51 308M 51 158M 0 0 2161k 0 0:02:26 0:01:14 0:01:12 $'1888k\r' 53 308M 53 164M 0 0 2224k 0 0:02:21 0:01:15 0:01:06 $'7324k\r' 55 308M 55 172M 0 0 2296k 0 0:02:17 0:01:16 0:01:01 $'6090k\r' 58 308M 58 180M 0 0 2377k 0 0:02:12 0:01:17 0:00:55 $'6931k\r' 60 308M 60 187M 0 0 2436k 0 0:02:09 0:01:18 0:00:51 $'7289k\r' 62 308M 62 193M 0 0 2475k 0 0:02:07 0:01:19 0:00:48 $'7180k\r' 64 308M 64 198M 0 0 2516k 0 0:02:05 0:01:20 0:00:45 $'6949k\r' 66 308M 66 204M 0 0 2555k 0 0:02:03 0:01:21 0:00:42 $'6531k\r' 68 308M 68 209M 0 0 2592k 0 0:02:01 0:01:22 0:00:39 $'5932k\r' 69 308M 69 214M 0 0 2617k 0 0:02:00 0:01:23 0:00:37 $'5459k\r' 71 308M 71 219M 0 0 2643k 0 0:01:59 0:01:24 0:00:35 $'5327k\r' 72 308M 72 224M 0 0 2673k 0 0:01:58 0:01:25 0:00:33 $'5212k\r' 73 308M 73 228M 0 0 2688k 0 0:01:57 0:01:26 0:00:31 $'4873k\r' 74 308M 74 230M 0 0 2691k 0 0:01:57 0:01:27 0:00:30 $'4336k\r' 75 308M 75 233M 0 0 2696k 0 0:01:57 0:01:28 0:00:29 $'4028k\r' 76 308M 76 236M 0 0 2699k 0 0:01:56 0:01:29 0:00:27 $'3650k\r' 77 308M 77 239M 0 0 2698k 0 0:01:57 0:01:30 0:00:27 $'3123k\r' 78 308M 78 241M 0 0 2686k 0 0:01:57 0:01:31 0:00:26 $'2656k\r' 78 308M 78 243M 0 0 2682k 0 0:01:57 0:01:32 0:00:25 $'2524k\r' 79 308M 79 246M 0 0 2688k 0 0:01:57 0:01:33 0:00:24 $'2544k\r' 81 308M 81 250M 0 0 2703k 0 0:01:56 0:01:34 0:00:22 $'2761k\r' 82 308M 82 255M 0 0 2724k 0 0:01:55 0:01:35 0:00:20 $'3193k\r' 84 308M 84 259M 0 0 2747k 0 0:01:54 0:01:36 0:00:18 $'3856k\r' 86 308M 86 265M 0 0 2778k 0 0:01:53 0:01:37 0:00:16 $'4560k\r' 87 308M 87 270M 0 0 2803k 0 0:01:52 0:01:38 0:00:14 $'4963k\r' 89 308M 89 275M 0 0 2827k 0 0:01:51 0:01:39 0:00:12 $'5180k\r' 91 308M 91 281M 0 0 2860k 0 0:01:50 0:01:40 0:00:10 $'5475k\r' 93 308M 93 287M 0 0 2890k 0 0:01:49 0:01:41 0:00:08 $'5667k\r' 95 308M 95 293M 0 0 2920k 0 0:01:48 0:01:42 0:00:06 $'5705k\r' 97 308M 97 299M 0 0 2952k 0 0:01:46 0:01:43 0:00:03 $'5897k\r' 99 308M 99 305M 0 0 2984k 0 0:01:45 0:01:44 0:00:01 $'6118k\r100' 308M 100 308M 0 0 2999k 0 0:01:45 0:01:45 --:--:-- 6175k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ bp=222 ++ bpb=222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 1737k 0 0 2017k 0 0:02:36 --:--:-- 0:02:36 $'2017k\r' 1 308M 1 4825k 0 0 2593k 0 0:02:01 0:00:01 0:02:00 $'2594k\r' 2 308M 2 7945k 0 0 2777k 0 0:01:53 0:00:02 0:01:51 $'2777k\r' 3 308M 3 10.3M 0 0 2746k 0 0:01:54 0:00:03 0:01:51 $'2746k\r' 4 308M 4 12.6M 0 0 2664k 0 0:01:58 0:00:04 0:01:54 $'2664k\r' 4 308M 4 15.2M 0 0 2663k 0 0:01:58 0:00:05 0:01:53 $'2774k\r' 5 308M 5 18.1M 0 0 2702k 0 0:01:56 0:00:06 0:01:50 $'2742k\r' 6 308M 6 20.5M 0 0 2675k 0 0:01:58 0:00:07 0:01:51 $'2617k\r' 7 308M 7 22.6M 0 0 2622k 0 0:02:00 0:00:08 0:01:52 $'2528k\r' 8 308M 8 24.7M 0 0 2574k 0 0:02:02 0:00:09 0:01:53 $'2486k\r' 8 308M 8 26.4M 0 0 2490k 0 0:02:06 0:00:10 0:01:56 $'2288k\r' 8 308M 8 27.6M 0 0 2391k 0 0:02:12 0:00:11 0:02:01 $'1964k\r' 9 308M 9 29.2M 0 0 2327k 0 0:02:15 0:00:12 0:02:03 $'1779k\r' 10 308M 10 31.0M 0 0 2296k 0 0:02:17 0:00:13 0:02:04 $'1718k\r' 10 308M 10 32.6M 0 0 2247k 0 0:02:20 0:00:14 0:02:06 $'1602k\r' 11 308M 11 34.6M 0 0 2239k 0 0:02:20 0:00:15 0:02:05 $'1695k\r' 11 308M 11 36.1M 0 0 1953k 0 0:02:41 0:00:18 0:02:23 $'1224k\r' 13 308M 13 42.0M 0 0 2166k 0 0:02:25 0:00:19 0:02:06 $'1871k\r' 14 308M 14 45.2M 0 0 2220k 0 0:02:22 0:00:20 0:02:02 $'2070k\r' 16 308M 16 50.1M 0 0 1796k 0 0:02:55 0:00:28 0:02:27 $'1308k\r' 16 308M 16 51.1M 0 0 1566k 0 0:03:21 0:00:33 0:02:48 $'959k\r' 16 308M 16 52.2M 0 0 1533k 0 0:03:25 0:00:34 0:02:51 $'1031k\r' 18 308M 18 58.0M 0 0 1653k 0 0:03:10 0:00:35 0:02:35 $'1018k\r' 18 308M 18 58.3M 0 0 1619k 0 0:03:14 0:00:36 0:02:38 $'835k\r' 19 308M 19 59.1M 0 0 1598k 0 0:03:17 0:00:37 0:02:40 $'988k\r' 19 308M 19 60.5M 0 0 1595k 0 0:03:17 0:00:38 0:02:39 $'1773k\r' 20 308M 20 62.8M 0 0 1614k 0 0:03:15 0:00:39 0:02:36 $'2187k\r' 21 308M 21 66.0M 0 0 1654k 0 0:03:10 0:00:40 0:02:30 $'1663k\r' 22 308M 22 69.9M 0 0 1712k 0 0:03:04 0:00:41 0:02:23 $'2396k\r' 24 308M 24 74.8M 0 0 1787k 0 0:02:56 0:00:42 0:02:14 $'3222k\r' 26 308M 26 80.4M 0 0 1878k 0 0:02:48 0:00:43 0:02:05 $'4076k\r' 27 308M 27 84.9M 0 0 1912k 0 0:02:45 0:00:45 0:02:00 $'4014k\r' 29 308M 29 89.8M 0 0 2007k 0 0:02:37 0:00:45 0:01:52 $'4889k\r' 30 308M 30 93.0M 0 0 2033k 0 0:02:35 0:00:46 0:01:49 $'4724k\r' 31 308M 31 97.0M 0 0 2075k 0 0:02:32 0:00:47 0:01:45 $'4544k\r' 33 308M 33 101M 0 0 2133k 0 0:02:27 0:00:48 0:01:39 $'4374k\r' 34 308M 34 105M 0 0 2040k 0 0:02:34 0:00:53 0:01:41 $'2813k\r' 37 308M 37 116M 0 0 2209k 0 0:02:22 0:00:53 0:01:29 $'3369k\r' 38 308M 38 119M 0 0 2237k 0 0:02:21 0:00:54 0:01:27 $'3430k\r' 40 308M 40 124M 0 0 2280k 0 0:02:18 0:00:55 0:01:23 $'3508k\r' 41 308M 41 129M 0 0 2324k 0 0:02:15 0:00:56 0:01:19 $'3493k\r' 42 308M 42 130M 0 0 2315k 0 0:02:16 0:00:57 0:01:19 $'5356k\r' 42 308M 42 131M 0 0 2282k 0 0:02:18 0:00:58 0:01:20 $'3064k\r' 42 308M 42 131M 0 0 2252k 0 0:02:20 0:00:59 0:01:21 $'2419k\r' 42 308M 42 132M 0 0 2224k 0 0:02:21 0:01:00 0:01:21 $'1590k\r' 43 308M 43 133M 0 0 1913k 0 0:02:45 0:01:11 0:01:34 $'314k\r' 46 308M 46 142M 0 0 2032k 0 0:02:35 0:01:11 0:01:24 $'866k\r' 47 308M 47 146M 0 0 2065k 0 0:02:32 0:01:12 0:01:20 $'1151k\r' 49 308M 49 152M 0 0 2108k 0 0:02:29 0:01:13 0:01:16 $'1490k\r' 51 308M 51 158M 0 0 2161k 0 0:02:26 0:01:14 0:01:12 $'1888k\r' 53 308M 53 164M 0 0 2224k 0 0:02:21 0:01:15 0:01:06 $'7324k\r' 55 308M 55 172M 0 0 2296k 0 0:02:17 0:01:16 0:01:01 $'6090k\r' 58 308M 58 180M 0 0 2377k 0 0:02:12 0:01:17 0:00:55 $'6931k\r' 60 308M 60 187M 0 0 2436k 0 0:02:09 0:01:18 0:00:51 $'7289k\r' 62 308M 62 193M 0 0 2475k 0 0:02:07 0:01:19 0:00:48 $'7180k\r' 64 308M 64 198M 0 0 2516k 0 0:02:05 0:01:20 0:00:45 $'6949k\r' 66 308M 66 204M 0 0 2555k 0 0:02:03 0:01:21 0:00:42 $'6531k\r' 68 308M 68 209M 0 0 2592k 0 0:02:01 0:01:22 0:00:39 $'5932k\r' 69 308M 69 214M 0 0 2617k 0 0:02:00 0:01:23 0:00:37 $'5459k\r' 71 308M 71 219M 0 0 2643k 0 0:01:59 0:01:24 0:00:35 $'5327k\r' 72 308M 72 224M 0 0 2673k 0 0:01:58 0:01:25 0:00:33 $'5212k\r' 73 308M 73 228M 0 0 2688k 0 0:01:57 0:01:26 0:00:31 $'4873k\r' 74 308M 74 230M 0 0 2691k 0 0:01:57 0:01:27 0:00:30 $'4336k\r' 75 308M 75 233M 0 0 2696k 0 0:01:57 0:01:28 0:00:29 $'4028k\r' 76 308M 76 236M 0 0 2699k 0 0:01:56 0:01:29 0:00:27 $'3650k\r' 77 308M 77 239M 0 0 2698k 0 0:01:57 0:01:30 0:00:27 $'3123k\r' 78 308M 78 241M 0 0 2686k 0 0:01:57 0:01:31 0:00:26 $'2656k\r' 78 308M 78 243M 0 0 2682k 0 0:01:57 0:01:32 0:00:25 $'2524k\r' 79 308M 79 246M 0 0 2688k 0 0:01:57 0:01:33 0:00:24 $'2544k\r' 81 308M 81 250M 0 0 2703k 0 0:01:56 0:01:34 0:00:22 $'2761k\r' 82 308M 82 255M 0 0 2724k 0 0:01:55 0:01:35 0:00:20 $'3193k\r' 84 308M 84 259M 0 0 2747k 0 0:01:54 0:01:36 0:00:18 $'3856k\r' 86 308M 86 265M 0 0 2778k 0 0:01:53 0:01:37 0:00:16 $'4560k\r' 87 308M 87 270M 0 0 2803k 0 0:01:52 0:01:38 0:00:14 $'4963k\r' 89 308M 89 275M 0 0 2827k 0 0:01:51 0:01:39 0:00:12 $'5180k\r' 91 308M 91 281M 0 0 2860k 0 0:01:50 0:01:40 0:00:10 $'5475k\r' 93 308M 93 287M 0 0 2890k 0 0:01:49 0:01:41 0:00:08 $'5667k\r' 95 308M 95 293M 0 0 2920k 0 0:01:48 0:01:42 0:00:06 $'5705k\r' 97 308M 97 299M 0 0 2952k 0 0:01:46 0:01:43 0:00:03 $'5897k\r' 99 308M 99 305M 0 0 2984k 0 0:01:45 0:01:44 0:00:01 $'6118k\r100' 308M 100 308M 0 0 2999k 0 0:01:45 0:01:45 --:--:-- 6175k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 222 ']' ++ '[' '!' -d 222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 232M 2 5114k 0 0 4491k 0 0:00:52 0:00:01 0:00:51 4494k 4 232M 4 11.1M 0 0 5345k 0 0:00:44 0:00:02 0:00:42 5345k 7 232M 7 17.3M 0 0 5675k 0 0:00:41 0:00:03 0:00:38 5676k 9 232M 9 23.0M 0 0 5695k 0 0:00:41 0:00:04 0:00:37 5697k 12 232M 12 29.3M 0 0 5848k 0 0:00:40 0:00:05 0:00:35 6008k 15 232M 15 36.2M 0 0 6050k 0 0:00:39 0:00:06 0:00:33 6404k 18 232M 18 43.9M 0 0 6303k 0 0:00:37 0:00:07 0:00:30 6713k 22 232M 22 52.4M 0 0 6596k 0 0:00:36 0:00:08 0:00:28 7174k 26 232M 26 61.6M 0 0 6905k 0 0:00:34 0:00:09 0:00:25 7907k 30 232M 30 69.9M 0 0 7064k 0 0:00:33 0:00:10 0:00:23 8313k 33 232M 33 77.9M 0 0 7167k 0 0:00:33 0:00:11 0:00:22 8537k 37 232M 37 87.0M 0 0 7346k 0 0:00:32 0:00:12 0:00:20 8835k 41 232M 41 96.6M 0 0 7537k 0 0:00:31 0:00:13 0:00:18 9068k 45 232M 45 105M 0 0 7644k 0 0:00:31 0:00:14 0:00:17 8995k 48 232M 48 111M 0 0 7535k 0 0:00:31 0:00:15 0:00:16 8489k 49 232M 49 115M 0 0 7327k 0 0:00:32 0:00:16 0:00:16 7684k 50 232M 50 118M 0 0 7066k 0 0:00:33 0:00:17 0:00:16 6386k 51 232M 51 120M 0 0 6782k 0 0:00:35 0:00:18 0:00:17 4799k 52 232M 52 122M 0 0 6535k 0 0:00:36 0:00:19 0:00:17 3402k 53 232M 53 124M 0 0 6350k 0 0:00:37 0:00:20 0:00:17 2764k 55 232M 55 128M 0 0 6217k 0 0:00:38 0:00:21 0:00:17 2633k 56 232M 56 131M 0 0 6083k 0 0:00:39 0:00:22 0:00:17 2714k 58 232M 58 135M 0 0 5987k 0 0:00:39 0:00:23 0:00:16 3101k 60 232M 60 139M 0 0 5931k 0 0:00:40 0:00:24 0:00:16 3614k 62 232M 62 145M 0 0 5911k 0 0:00:40 0:00:25 0:00:15 4144k 65 232M 65 151M 0 0 5921k 0 0:00:40 0:00:26 0:00:14 4668k 68 232M 68 157M 0 0 5958k 0 0:00:39 0:00:27 0:00:12 5405k 71 232M 71 165M 0 0 6015k 0 0:00:39 0:00:28 0:00:11 6146k 74 232M 74 173M 0 0 6107k 0 0:00:38 0:00:29 0:00:09 6960k 78 232M 78 182M 0 0 6208k 0 0:00:38 0:00:30 0:00:08 7702k 81 232M 81 190M 0 0 6249k 0 0:00:38 0:00:31 0:00:07 7964k 85 232M 85 198M 0 0 6311k 0 0:00:37 0:00:32 0:00:05 8228k 89 232M 89 206M 0 0 6395k 0 0:00:37 0:00:33 0:00:04 8573k 93 232M 93 216M 0 0 6488k 0 0:00:36 0:00:34 0:00:02 8704k 97 232M 97 225M 0 0 6583k 0 0:00:36 0:00:35 0:00:01 8844k 100 232M 100 232M 0 0 6648k 0 0:00:35 0:00:35 --:--:-- 9356k +info: extracting +RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package +gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 232M 2 5114k 0 0 4491k 0 0:00:52 0:00:01 0:00:51 $'4494k\r' 4 232M 4 11.1M 0 0 5345k 0 0:00:44 0:00:02 0:00:42 $'5345k\r' 7 232M 7 17.3M 0 0 5675k 0 0:00:41 0:00:03 0:00:38 $'5676k\r' 9 232M 9 23.0M 0 0 5695k 0 0:00:41 0:00:04 0:00:37 $'5697k\r' 12 232M 12 29.3M 0 0 5848k 0 0:00:40 0:00:05 0:00:35 $'6008k\r' 15 232M 15 36.2M 0 0 6050k 0 0:00:39 0:00:06 0:00:33 $'6404k\r' 18 232M 18 43.9M 0 0 6303k 0 0:00:37 0:00:07 0:00:30 $'6713k\r' 22 232M 22 52.4M 0 0 6596k 0 0:00:36 0:00:08 0:00:28 $'7174k\r' 26 232M 26 61.6M 0 0 6905k 0 0:00:34 0:00:09 0:00:25 $'7907k\r' 30 232M 30 69.9M 0 0 7064k 0 0:00:33 0:00:10 0:00:23 $'8313k\r' 33 232M 33 77.9M 0 0 7167k 0 0:00:33 0:00:11 0:00:22 $'8537k\r' 37 232M 37 87.0M 0 0 7346k 0 0:00:32 0:00:12 0:00:20 $'8835k\r' 41 232M 41 96.6M 0 0 7537k 0 0:00:31 0:00:13 0:00:18 $'9068k\r' 45 232M 45 105M 0 0 7644k 0 0:00:31 0:00:14 0:00:17 $'8995k\r' 48 232M 48 111M 0 0 7535k 0 0:00:31 0:00:15 0:00:16 $'8489k\r' 49 232M 49 115M 0 0 7327k 0 0:00:32 0:00:16 0:00:16 $'7684k\r' 50 232M 50 118M 0 0 7066k 0 0:00:33 0:00:17 0:00:16 $'6386k\r' 51 232M 51 120M 0 0 6782k 0 0:00:35 0:00:18 0:00:17 $'4799k\r' 52 232M 52 122M 0 0 6535k 0 0:00:36 0:00:19 0:00:17 $'3402k\r' 53 232M 53 124M 0 0 6350k 0 0:00:37 0:00:20 0:00:17 $'2764k\r' 55 232M 55 128M 0 0 6217k 0 0:00:38 0:00:21 0:00:17 $'2633k\r' 56 232M 56 131M 0 0 6083k 0 0:00:39 0:00:22 0:00:17 $'2714k\r' 58 232M 58 135M 0 0 5987k 0 0:00:39 0:00:23 0:00:16 $'3101k\r' 60 232M 60 139M 0 0 5931k 0 0:00:40 0:00:24 0:00:16 $'3614k\r' 62 232M 62 145M 0 0 5911k 0 0:00:40 0:00:25 0:00:15 $'4144k\r' 65 232M 65 151M 0 0 5921k 0 0:00:40 0:00:26 0:00:14 $'4668k\r' 68 232M 68 157M 0 0 5958k 0 0:00:39 0:00:27 0:00:12 $'5405k\r' 71 232M 71 165M 0 0 6015k 0 0:00:39 0:00:28 0:00:11 $'6146k\r' 74 232M 74 173M 0 0 6107k 0 0:00:38 0:00:29 0:00:09 $'6960k\r' 78 232M 78 182M 0 0 6208k 0 0:00:38 0:00:30 0:00:08 $'7702k\r' 81 232M 81 190M 0 0 6249k 0 0:00:38 0:00:31 0:00:07 $'7964k\r' 85 232M 85 198M 0 0 6311k 0 0:00:37 0:00:32 0:00:05 $'8228k\r' 89 232M 89 206M 0 0 6395k 0 0:00:37 0:00:33 0:00:04 $'8573k\r' 93 232M 93 216M 0 0 6488k 0 0:00:36 0:00:34 0:00:02 $'8704k\r' 97 232M 97 225M 0 0 6583k 0 0:00:36 0:00:35 0:00:01 $'8844k\r100' 232M 100 232M 0 0 6648k 0 0:00:35 0:00:35 --:--:-- 9356k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 232M 2 5114k 0 0 4491k 0 0:00:52 0:00:01 0:00:51 $'4494k\r' 4 232M 4 11.1M 0 0 5345k 0 0:00:44 0:00:02 0:00:42 $'5345k\r' 7 232M 7 17.3M 0 0 5675k 0 0:00:41 0:00:03 0:00:38 $'5676k\r' 9 232M 9 23.0M 0 0 5695k 0 0:00:41 0:00:04 0:00:37 $'5697k\r' 12 232M 12 29.3M 0 0 5848k 0 0:00:40 0:00:05 0:00:35 $'6008k\r' 15 232M 15 36.2M 0 0 6050k 0 0:00:39 0:00:06 0:00:33 $'6404k\r' 18 232M 18 43.9M 0 0 6303k 0 0:00:37 0:00:07 0:00:30 $'6713k\r' 22 232M 22 52.4M 0 0 6596k 0 0:00:36 0:00:08 0:00:28 $'7174k\r' 26 232M 26 61.6M 0 0 6905k 0 0:00:34 0:00:09 0:00:25 $'7907k\r' 30 232M 30 69.9M 0 0 7064k 0 0:00:33 0:00:10 0:00:23 $'8313k\r' 33 232M 33 77.9M 0 0 7167k 0 0:00:33 0:00:11 0:00:22 $'8537k\r' 37 232M 37 87.0M 0 0 7346k 0 0:00:32 0:00:12 0:00:20 $'8835k\r' 41 232M 41 96.6M 0 0 7537k 0 0:00:31 0:00:13 0:00:18 $'9068k\r' 45 232M 45 105M 0 0 7644k 0 0:00:31 0:00:14 0:00:17 $'8995k\r' 48 232M 48 111M 0 0 7535k 0 0:00:31 0:00:15 0:00:16 $'8489k\r' 49 232M 49 115M 0 0 7327k 0 0:00:32 0:00:16 0:00:16 $'7684k\r' 50 232M 50 118M 0 0 7066k 0 0:00:33 0:00:17 0:00:16 $'6386k\r' 51 232M 51 120M 0 0 6782k 0 0:00:35 0:00:18 0:00:17 $'4799k\r' 52 232M 52 122M 0 0 6535k 0 0:00:36 0:00:19 0:00:17 $'3402k\r' 53 232M 53 124M 0 0 6350k 0 0:00:37 0:00:20 0:00:17 $'2764k\r' 55 232M 55 128M 0 0 6217k 0 0:00:38 0:00:21 0:00:17 $'2633k\r' 56 232M 56 131M 0 0 6083k 0 0:00:39 0:00:22 0:00:17 $'2714k\r' 58 232M 58 135M 0 0 5987k 0 0:00:39 0:00:23 0:00:16 $'3101k\r' 60 232M 60 139M 0 0 5931k 0 0:00:40 0:00:24 0:00:16 $'3614k\r' 62 232M 62 145M 0 0 5911k 0 0:00:40 0:00:25 0:00:15 $'4144k\r' 65 232M 65 151M 0 0 5921k 0 0:00:40 0:00:26 0:00:14 $'4668k\r' 68 232M 68 157M 0 0 5958k 0 0:00:39 0:00:27 0:00:12 $'5405k\r' 71 232M 71 165M 0 0 6015k 0 0:00:39 0:00:28 0:00:11 $'6146k\r' 74 232M 74 173M 0 0 6107k 0 0:00:38 0:00:29 0:00:09 $'6960k\r' 78 232M 78 182M 0 0 6208k 0 0:00:38 0:00:30 0:00:08 $'7702k\r' 81 232M 81 190M 0 0 6249k 0 0:00:38 0:00:31 0:00:07 $'7964k\r' 85 232M 85 198M 0 0 6311k 0 0:00:37 0:00:32 0:00:05 $'8228k\r' 89 232M 89 206M 0 0 6395k 0 0:00:37 0:00:33 0:00:04 $'8573k\r' 93 232M 93 216M 0 0 6488k 0 0:00:36 0:00:34 0:00:02 $'8704k\r' 97 232M 97 225M 0 0 6583k 0 0:00:36 0:00:35 0:00:01 $'8844k\r100' 232M 100 232M 0 0 6648k 0 0:00:35 0:00:35 --:--:-- 9356k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=51d9b330194b9867afb706b7611e02f9293fe3be, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00007fff63b85000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0a97c95000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0a97ab4000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0a97da3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d1dca52f0b53dd6d6e1a398fff97bf6a24ed2b6e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00007ffc0c5a7000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f467abcf000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f467a9ee000) + /lib64/ld-linux-x86-64.so.2 (0x00007f467ace5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7671387815a715ccf29413e6ebd2d694ef4fd9ad, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00007fffcd2c7000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f37ba32a000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f37ba149000) + /lib64/ld-linux-x86-64.so.2 (0x00007f37ba4ce000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffe9ffe6000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7a1c229000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7a1c411000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46ec6178fe7407f1c90cd30bb536558171a92e3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00007fff6cd64000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f404b159000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f404af78000) + /lib64/ld-linux-x86-64.so.2 (0x00007f404b26f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=240b045dd7361e3c4bc5007cc8a3498c2d283408, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffc18afd000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d93828000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9d93a10000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=33d699b0253e2c2bb40e6cfd086bc66a59d99e2c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffd30769000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc6390a1000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc639295000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffff6111000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f07de604000) + /lib64/ld-linux-x86-64.so.2 (0x00007f07de7ec000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffc0b5f6000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd03bef5000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd03c0dd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00007ffd5b92d000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f69fd911000) + /lib64/ld-linux-x86-64.so.2 (0x00007f69fdaf9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93fc5f76c74612a9d0ce7afbc1cd9e42d09dcf1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007fff10d4a000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0442fd2000) + /lib64/ld-linux-x86-64.so.2 (0x00007f04431ba000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1b7ab8553679997bbad242148fd744e0431b0318, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffe57d4e000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6da6829000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6da6a11000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9b9816acb73f92f5a898ec65ca3d74a90d820a84, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffc909de000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f13487a3000) + /lib64/ld-linux-x86-64.so.2 (0x00007f134898b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e57b5d44de252010151d77f4323ad763e9523ce3, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00007fffc5b3c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f512e8e9000) + /lib64/ld-linux-x86-64.so.2 (0x00007f512ead1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b1fd99fe236a5513419295efe1dd3fe7d738f228, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffc9a706000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efc58a98000) + /lib64/ld-linux-x86-64.so.2 (0x00007efc58c80000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6160a5965fccd5c42347d644843e1dd0b94418ae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffcd8fb8000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faae4480000) + /lib64/ld-linux-x86-64.so.2 (0x00007faae4668000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f27038640ed4ca1647aceff925831111b4de5e1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x00007fff0b747000) + libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x00007f800b836000) + libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f800b803000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f800b7fe000) + liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f800add1000) + libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f800aa00000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f800acf2000) + libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f800b7dc000) + libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f800aced000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f800a81f000) + /lib64/ld-linux-x86-64.so.2 (0x00007f800b877000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bba2a4aa398576037d78bd7f2d67d84183ca7474, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffe62383000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f964cbf6000) + /lib64/ld-linux-x86-64.so.2 (0x00007f964cdde000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=81368607ab7d7e9fc93c70c1a5085ca8cf7d2551, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffc59d8d000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe536b9f000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe5369be000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe536cbe000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00007ffe3aa54000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9c8d149000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9c8cc1f000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9c8d155000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007fffb0683000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb14e885000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb14e21f000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb14e891000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=07e0cdeb46eb6749e40f39f886240ec56b077414, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007fff809be000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff2c260f000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff2c2530000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff2c234f000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff2c261b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7dc2121143a8baa649992b794106a7e3e33d025c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00007fffc733b000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb4b5116000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb4b4f35000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb4b5228000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=25a334917a579d527a1d3c7d5f1d986453d61b03, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffdeba98000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd30b7bf000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd30b5de000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd30b8f1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3791c1a2ba627af0f6c6dd2e87ae4a7ea7418f23, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffcc61dd000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0f8f2a0000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0f8f0bf000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0f8f483000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=86b327b66ff5317f621853e5dc663a194ab1c964, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffccfe54000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1c5491c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1c5473b000) + /lib64/ld-linux-x86-64.so.2 (0x00007f1c54a32000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=94b11b905c3c381dda1f368cf17dea43ae3a4654, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00007ffed21f3000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe1abcc5000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe1abfac000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9fe6ce808fc54654b1ba0be4f8161de2f6cd2abf, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00007fffaa198000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fec48217000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fec48036000) + /lib64/ld-linux-x86-64.so.2 (0x00007fec48326000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=adfc3905c2628c9867e65a37ef119cfdbe73cf89, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00007ffcea135000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbf04531000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbf04350000) + /lib64/ld-linux-x86-64.so.2 (0x00007fbf04640000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3c95f10b97c64370dca4b055b3c48aed500f13b6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00007ffc0716c000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f226d64e000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f226d46d000) + /lib64/ld-linux-x86-64.so.2 (0x00007f226d780000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 1020k 0 0 2294k 0 0:02:57 --:--:-- 0:02:57 2298k 1 398M 1 8060k 0 0 5577k 0 0:01:13 0:00:01 0:01:12 5578k 3 398M 3 14.8M 0 0 6216k 0 0:01:05 0:00:02 0:01:03 6217k 5 398M 5 20.7M 0 0 6176k 0 0:01:06 0:00:03 0:01:03 6177k 5 398M 5 21.8M 0 0 2547k 0 0:02:40 0:00:08 0:02:32 2547k 6 398M 6 27.5M 0 0 2986k 0 0:02:16 0:00:09 0:02:07 3020k 7 398M 7 29.8M 0 0 2930k 0 0:02:19 0:00:10 0:02:09 2504k 8 398M 8 32.9M 0 0 2949k 0 0:02:18 0:00:11 0:02:07 2061k 9 398M 9 36.1M 0 0 2972k 0 0:02:17 0:00:12 0:02:05 1745k 9 398M 9 39.2M 0 0 2986k 0 0:02:16 0:00:13 0:02:03 3811k 10 398M 10 42.6M 0 0 3021k 0 0:02:15 0:00:14 0:02:01 3087k 11 398M 11 46.5M 0 0 3086k 0 0:02:12 0:00:15 0:01:57 3414k 12 398M 12 51.0M 0 0 3176k 0 0:02:08 0:00:16 0:01:52 3696k 13 398M 13 54.9M 0 0 3225k 0 0:02:06 0:00:17 0:01:49 3856k 14 398M 14 58.8M 0 0 3267k 0 0:02:04 0:00:18 0:01:46 4022k 15 398M 15 62.8M 0 0 3311k 0 0:02:03 0:00:19 0:01:44 4150k 16 398M 16 67.3M 0 0 3374k 0 0:02:01 0:00:20 0:01:41 4262k 18 398M 18 72.2M 0 0 3451k 0 0:01:58 0:00:21 0:01:37 4357k 19 398M 19 76.9M 0 0 3508k 0 0:01:56 0:00:22 0:01:34 4496k 20 398M 20 81.5M 0 0 3561k 0 0:01:54 0:00:23 0:01:31 4646k 21 398M 21 86.6M 0 0 3630k 0 0:01:52 0:00:24 0:01:28 4870k 23 398M 23 92.0M 0 0 3703k 0 0:01:50 0:00:25 0:01:25 5049k 24 398M 24 97.5M 0 0 3778k 0 0:01:48 0:00:26 0:01:22 5177k 25 398M 25 102M 0 0 3820k 0 0:01:46 0:00:27 0:01:19 5218k 26 398M 26 106M 0 0 3836k 0 0:01:46 0:00:28 0:01:18 5128k 27 398M 27 111M 0 0 3863k 0 0:01:45 0:00:29 0:01:16 5004k 28 398M 28 115M 0 0 3878k 0 0:01:45 0:00:30 0:01:15 4770k 29 398M 29 119M 0 0 3894k 0 0:01:44 0:00:31 0:01:13 4512k 30 398M 30 123M 0 0 3891k 0 0:01:44 0:00:32 0:01:12 4282k 31 398M 31 127M 0 0 3893k 0 0:01:44 0:00:33 0:01:11 4212k 32 398M 32 130M 0 0 3876k 0 0:01:45 0:00:34 0:01:11 3951k 33 398M 33 134M 0 0 3877k 0 0:01:45 0:00:35 0:01:10 3869k 34 398M 34 136M 0 0 3840k 0 0:01:46 0:00:36 0:01:10 3494k 34 398M 34 138M 0 0 3793k 0 0:01:47 0:00:37 0:01:10 3155k 35 398M 35 141M 0 0 3760k 0 0:01:48 0:00:38 0:01:10 2873k 36 398M 36 144M 0 0 3752k 0 0:01:48 0:00:39 0:01:09 2892k 37 398M 37 148M 0 0 3756k 0 0:01:48 0:00:40 0:01:08 2900k 38 398M 38 151M 0 0 3748k 0 0:01:48 0:00:41 0:01:07 3084k 38 398M 38 154M 0 0 3724k 0 0:01:49 0:00:42 0:01:07 3212k 39 398M 39 157M 0 0 3714k 0 0:01:49 0:00:43 0:01:06 3356k 40 398M 40 161M 0 0 3710k 0 0:01:50 0:00:44 0:01:06 3384k 41 398M 41 165M 0 0 3720k 0 0:01:49 0:00:45 0:01:04 3427k 42 398M 42 169M 0 0 3728k 0 0:01:49 0:00:46 0:01:03 3558k 43 398M 43 173M 0 0 3737k 0 0:01:49 0:00:47 0:01:02 3845k 44 398M 44 177M 0 0 3751k 0 0:01:48 0:00:48 0:01:00 4076k 45 398M 45 182M 0 0 3772k 0 0:01:48 0:00:49 0:00:59 4323k 46 398M 46 187M 0 0 3802k 0 0:01:47 0:00:50 0:00:57 4547k 48 398M 48 192M 0 0 3822k 0 0:01:46 0:00:51 0:00:55 4701k 49 398M 49 195M 0 0 3823k 0 0:01:46 0:00:52 0:00:54 4638k 50 398M 50 199M 0 0 3828k 0 0:01:46 0:00:53 0:00:53 4572k 51 398M 51 204M 0 0 3841k 0 0:01:46 0:00:54 0:00:52 4518k 52 398M 52 208M 0 0 3857k 0 0:01:45 0:00:55 0:00:50 4406k 53 398M 53 212M 0 0 3856k 0 0:01:45 0:00:56 0:00:49 4204k 54 398M 54 215M 0 0 3841k 0 0:01:46 0:00:57 0:00:49 4032k 54 398M 54 218M 0 0 3824k 0 0:01:46 0:00:58 0:00:48 3785k 55 398M 55 221M 0 0 3813k 0 0:01:47 0:00:59 0:00:48 3510k 56 398M 56 224M 0 0 3801k 0 0:01:47 0:01:00 0:00:47 3189k 57 398M 57 227M 0 0 3797k 0 0:01:47 0:01:01 0:00:46 3128k 58 398M 58 231M 0 0 3795k 0 0:01:47 0:01:02 0:00:45 3273k 58 398M 58 234M 0 0 3790k 0 0:01:47 0:01:03 0:00:44 3392k 59 398M 59 237M 0 0 3773k 0 0:01:48 0:01:04 0:00:44 3302k 60 398M 60 239M 0 0 3747k 0 0:01:48 0:01:05 0:00:43 3096k 60 398M 60 241M 0 0 3711k 0 0:01:50 0:01:06 0:00:44 2683k 60 398M 60 243M 0 0 3690k 0 0:01:50 0:01:07 0:00:43 2372k 61 398M 61 245M 0 0 3666k 0 0:01:51 0:01:08 0:00:43 2091k 62 398M 62 247M 0 0 3648k 0 0:01:51 0:01:09 0:00:42 2031k 62 398M 62 249M 0 0 3628k 0 0:01:52 0:01:10 0:00:42 2058k 63 398M 63 251M 0 0 3611k 0 0:01:53 0:01:11 0:00:42 2244k 63 398M 63 253M 0 0 3539k 0 0:01:55 0:01:13 0:00:42 1814k 64 398M 64 255M 0 0 3563k 0 0:01:54 0:01:13 0:00:41 2159k 64 398M 64 258M 0 0 3550k 0 0:01:55 0:01:14 0:00:41 2189k 65 398M 65 260M 0 0 3539k 0 0:01:55 0:01:15 0:00:40 2294k 65 398M 65 262M 0 0 3518k 0 0:01:56 0:01:16 0:00:40 2188k 66 398M 66 265M 0 0 3504k 0 0:01:56 0:01:17 0:00:39 2875k 67 398M 67 267M 0 0 3496k 0 0:01:56 0:01:18 0:00:38 2514k 68 398M 68 271M 0 0 3496k 0 0:01:56 0:01:19 0:00:37 2690k 68 398M 68 274M 0 0 3495k 0 0:01:56 0:01:20 0:00:36 2825k 69 398M 69 277M 0 0 3483k 0 0:01:57 0:01:21 0:00:36 2947k 70 398M 70 279M 0 0 3476k 0 0:01:57 0:01:22 0:00:35 3045k 70 398M 70 282M 0 0 3468k 0 0:01:57 0:01:23 0:00:34 3022k 71 398M 71 285M 0 0 3464k 0 0:01:57 0:01:24 0:00:33 2957k 72 398M 72 288M 0 0 3463k 0 0:01:57 0:01:25 0:00:32 2944k 73 398M 73 292M 0 0 3461k 0 0:01:57 0:01:26 0:00:31 3096k 74 398M 74 295M 0 0 3463k 0 0:01:57 0:01:27 0:00:30 3240k 75 398M 75 299M 0 0 3464k 0 0:01:57 0:01:28 0:00:29 3392k 75 398M 75 302M 0 0 3460k 0 0:01:58 0:01:29 0:00:29 3392k 76 398M 76 305M 0 0 3455k 0 0:01:58 0:01:30 0:00:28 3328k 77 398M 77 308M 0 0 3449k 0 0:01:58 0:01:31 0:00:27 3242k 78 398M 78 311M 0 0 3446k 0 0:01:58 0:01:32 0:00:26 3156k 78 398M 78 314M 0 0 3442k 0 0:01:58 0:01:33 0:00:25 3065k 79 398M 79 316M 0 0 3430k 0 0:01:59 0:01:34 0:00:25 2907k 79 398M 79 318M 0 0 3414k 0 0:01:59 0:01:35 0:00:24 2667k 80 398M 80 320M 0 0 3336k 0 0:02:02 0:01:38 0:00:24 1842k 81 398M 81 323M 0 0 3360k 0 0:02:01 0:01:38 0:00:23 2036k 81 398M 81 325M 0 0 3348k 0 0:02:01 0:01:39 0:00:22 1887k 82 398M 82 327M 0 0 3341k 0 0:02:02 0:01:40 0:00:22 1930k 82 398M 82 330M 0 0 3340k 0 0:02:02 0:01:41 0:00:21 2160k 83 398M 83 333M 0 0 3336k 0 0:02:02 0:01:42 0:00:20 3328k 84 398M 84 337M 0 0 3339k 0 0:02:02 0:01:43 0:00:19 2914k 85 398M 85 341M 0 0 3347k 0 0:02:01 0:01:44 0:00:17 3307k 86 398M 86 345M 0 0 3354k 0 0:02:01 0:01:45 0:00:16 3614k 87 398M 87 349M 0 0 3357k 0 0:02:01 0:01:46 0:00:15 3708k 88 398M 88 351M 0 0 3352k 0 0:02:01 0:01:47 0:00:14 3680k 88 398M 88 353M 0 0 3340k 0 0:02:02 0:01:48 0:00:14 3365k 89 398M 89 355M 0 0 3327k 0 0:02:02 0:01:49 0:00:13 2912k 89 398M 89 357M 0 0 3311k 0 0:02:03 0:01:50 0:00:13 2414k 89 398M 89 358M 0 0 3296k 0 0:02:03 0:01:51 0:00:12 1997k 90 398M 90 360M 0 0 3282k 0 0:02:04 0:01:52 0:00:12 1788k 90 398M 90 362M 0 0 3270k 0 0:02:04 0:01:53 0:00:11 1763k 91 398M 91 364M 0 0 3264k 0 0:02:05 0:01:54 0:00:11 1883k 92 398M 92 367M 0 0 3262k 0 0:02:05 0:01:55 0:00:10 2177k 93 398M 93 371M 0 0 3264k 0 0:02:05 0:01:56 0:00:09 2563k 93 398M 93 374M 0 0 3266k 0 0:02:05 0:01:57 0:00:08 2902k 94 398M 94 378M 0 0 3269k 0 0:02:04 0:01:58 0:00:06 3238k 95 398M 95 382M 0 0 3278k 0 0:02:04 0:01:59 0:00:05 3602k 96 398M 96 386M 0 0 3283k 0 0:02:04 0:02:00 0:00:04 3763k 97 398M 97 387M 0 0 2507k 0 0:02:42 0:02:38 0:00:04 394k 98 398M 98 393M 0 0 2546k 0 0:02:40 0:02:38 0:00:02 483k 99 398M 99 398M 0 0 2557k 0 0:02:39 0:02:39 --:--:-- 500k 100 398M 100 398M 0 0 2559k 0 0:02:39 0:02:39 --:--:-- 417k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 1020k 0 0 2294k 0 0:02:57 --:--:-- 0:02:57 $'2298k\r' 1 398M 1 8060k 0 0 5577k 0 0:01:13 0:00:01 0:01:12 $'5578k\r' 3 398M 3 14.8M 0 0 6216k 0 0:01:05 0:00:02 0:01:03 $'6217k\r' 5 398M 5 20.7M 0 0 6176k 0 0:01:06 0:00:03 0:01:03 $'6177k\r' 5 398M 5 21.8M 0 0 2547k 0 0:02:40 0:00:08 0:02:32 $'2547k\r' 6 398M 6 27.5M 0 0 2986k 0 0:02:16 0:00:09 0:02:07 $'3020k\r' 7 398M 7 29.8M 0 0 2930k 0 0:02:19 0:00:10 0:02:09 $'2504k\r' 8 398M 8 32.9M 0 0 2949k 0 0:02:18 0:00:11 0:02:07 $'2061k\r' 9 398M 9 36.1M 0 0 2972k 0 0:02:17 0:00:12 0:02:05 $'1745k\r' 9 398M 9 39.2M 0 0 2986k 0 0:02:16 0:00:13 0:02:03 $'3811k\r' 10 398M 10 42.6M 0 0 3021k 0 0:02:15 0:00:14 0:02:01 $'3087k\r' 11 398M 11 46.5M 0 0 3086k 0 0:02:12 0:00:15 0:01:57 $'3414k\r' 12 398M 12 51.0M 0 0 3176k 0 0:02:08 0:00:16 0:01:52 $'3696k\r' 13 398M 13 54.9M 0 0 3225k 0 0:02:06 0:00:17 0:01:49 $'3856k\r' 14 398M 14 58.8M 0 0 3267k 0 0:02:04 0:00:18 0:01:46 $'4022k\r' 15 398M 15 62.8M 0 0 3311k 0 0:02:03 0:00:19 0:01:44 $'4150k\r' 16 398M 16 67.3M 0 0 3374k 0 0:02:01 0:00:20 0:01:41 $'4262k\r' 18 398M 18 72.2M 0 0 3451k 0 0:01:58 0:00:21 0:01:37 $'4357k\r' 19 398M 19 76.9M 0 0 3508k 0 0:01:56 0:00:22 0:01:34 $'4496k\r' 20 398M 20 81.5M 0 0 3561k 0 0:01:54 0:00:23 0:01:31 $'4646k\r' 21 398M 21 86.6M 0 0 3630k 0 0:01:52 0:00:24 0:01:28 $'4870k\r' 23 398M 23 92.0M 0 0 3703k 0 0:01:50 0:00:25 0:01:25 $'5049k\r' 24 398M 24 97.5M 0 0 3778k 0 0:01:48 0:00:26 0:01:22 $'5177k\r' 25 398M 25 102M 0 0 3820k 0 0:01:46 0:00:27 0:01:19 $'5218k\r' 26 398M 26 106M 0 0 3836k 0 0:01:46 0:00:28 0:01:18 $'5128k\r' 27 398M 27 111M 0 0 3863k 0 0:01:45 0:00:29 0:01:16 $'5004k\r' 28 398M 28 115M 0 0 3878k 0 0:01:45 0:00:30 0:01:15 $'4770k\r' 29 398M 29 119M 0 0 3894k 0 0:01:44 0:00:31 0:01:13 $'4512k\r' 30 398M 30 123M 0 0 3891k 0 0:01:44 0:00:32 0:01:12 $'4282k\r' 31 398M 31 127M 0 0 3893k 0 0:01:44 0:00:33 0:01:11 $'4212k\r' 32 398M 32 130M 0 0 3876k 0 0:01:45 0:00:34 0:01:11 $'3951k\r' 33 398M 33 134M 0 0 3877k 0 0:01:45 0:00:35 0:01:10 $'3869k\r' 34 398M 34 136M 0 0 3840k 0 0:01:46 0:00:36 0:01:10 $'3494k\r' 34 398M 34 138M 0 0 3793k 0 0:01:47 0:00:37 0:01:10 $'3155k\r' 35 398M 35 141M 0 0 3760k 0 0:01:48 0:00:38 0:01:10 $'2873k\r' 36 398M 36 144M 0 0 3752k 0 0:01:48 0:00:39 0:01:09 $'2892k\r' 37 398M 37 148M 0 0 3756k 0 0:01:48 0:00:40 0:01:08 $'2900k\r' 38 398M 38 151M 0 0 3748k 0 0:01:48 0:00:41 0:01:07 $'3084k\r' 38 398M 38 154M 0 0 3724k 0 0:01:49 0:00:42 0:01:07 $'3212k\r' 39 398M 39 157M 0 0 3714k 0 0:01:49 0:00:43 0:01:06 $'3356k\r' 40 398M 40 161M 0 0 3710k 0 0:01:50 0:00:44 0:01:06 $'3384k\r' 41 398M 41 165M 0 0 3720k 0 0:01:49 0:00:45 0:01:04 $'3427k\r' 42 398M 42 169M 0 0 3728k 0 0:01:49 0:00:46 0:01:03 $'3558k\r' 43 398M 43 173M 0 0 3737k 0 0:01:49 0:00:47 0:01:02 $'3845k\r' 44 398M 44 177M 0 0 3751k 0 0:01:48 0:00:48 0:01:00 $'4076k\r' 45 398M 45 182M 0 0 3772k 0 0:01:48 0:00:49 0:00:59 $'4323k\r' 46 398M 46 187M 0 0 3802k 0 0:01:47 0:00:50 0:00:57 $'4547k\r' 48 398M 48 192M 0 0 3822k 0 0:01:46 0:00:51 0:00:55 $'4701k\r' 49 398M 49 195M 0 0 3823k 0 0:01:46 0:00:52 0:00:54 $'4638k\r' 50 398M 50 199M 0 0 3828k 0 0:01:46 0:00:53 0:00:53 $'4572k\r' 51 398M 51 204M 0 0 3841k 0 0:01:46 0:00:54 0:00:52 $'4518k\r' 52 398M 52 208M 0 0 3857k 0 0:01:45 0:00:55 0:00:50 $'4406k\r' 53 398M 53 212M 0 0 3856k 0 0:01:45 0:00:56 0:00:49 $'4204k\r' 54 398M 54 215M 0 0 3841k 0 0:01:46 0:00:57 0:00:49 $'4032k\r' 54 398M 54 218M 0 0 3824k 0 0:01:46 0:00:58 0:00:48 $'3785k\r' 55 398M 55 221M 0 0 3813k 0 0:01:47 0:00:59 0:00:48 $'3510k\r' 56 398M 56 224M 0 0 3801k 0 0:01:47 0:01:00 0:00:47 $'3189k\r' 57 398M 57 227M 0 0 3797k 0 0:01:47 0:01:01 0:00:46 $'3128k\r' 58 398M 58 231M 0 0 3795k 0 0:01:47 0:01:02 0:00:45 $'3273k\r' 58 398M 58 234M 0 0 3790k 0 0:01:47 0:01:03 0:00:44 $'3392k\r' 59 398M 59 237M 0 0 3773k 0 0:01:48 0:01:04 0:00:44 $'3302k\r' 60 398M 60 239M 0 0 3747k 0 0:01:48 0:01:05 0:00:43 $'3096k\r' 60 398M 60 241M 0 0 3711k 0 0:01:50 0:01:06 0:00:44 $'2683k\r' 60 398M 60 243M 0 0 3690k 0 0:01:50 0:01:07 0:00:43 $'2372k\r' 61 398M 61 245M 0 0 3666k 0 0:01:51 0:01:08 0:00:43 $'2091k\r' 62 398M 62 247M 0 0 3648k 0 0:01:51 0:01:09 0:00:42 $'2031k\r' 62 398M 62 249M 0 0 3628k 0 0:01:52 0:01:10 0:00:42 $'2058k\r' 63 398M 63 251M 0 0 3611k 0 0:01:53 0:01:11 0:00:42 $'2244k\r' 63 398M 63 253M 0 0 3539k 0 0:01:55 0:01:13 0:00:42 $'1814k\r' 64 398M 64 255M 0 0 3563k 0 0:01:54 0:01:13 0:00:41 $'2159k\r' 64 398M 64 258M 0 0 3550k 0 0:01:55 0:01:14 0:00:41 $'2189k\r' 65 398M 65 260M 0 0 3539k 0 0:01:55 0:01:15 0:00:40 $'2294k\r' 65 398M 65 262M 0 0 3518k 0 0:01:56 0:01:16 0:00:40 $'2188k\r' 66 398M 66 265M 0 0 3504k 0 0:01:56 0:01:17 0:00:39 $'2875k\r' 67 398M 67 267M 0 0 3496k 0 0:01:56 0:01:18 0:00:38 $'2514k\r' 68 398M 68 271M 0 0 3496k 0 0:01:56 0:01:19 0:00:37 $'2690k\r' 68 398M 68 274M 0 0 3495k 0 0:01:56 0:01:20 0:00:36 $'2825k\r' 69 398M 69 277M 0 0 3483k 0 0:01:57 0:01:21 0:00:36 $'2947k\r' 70 398M 70 279M 0 0 3476k 0 0:01:57 0:01:22 0:00:35 $'3045k\r' 70 398M 70 282M 0 0 3468k 0 0:01:57 0:01:23 0:00:34 $'3022k\r' 71 398M 71 285M 0 0 3464k 0 0:01:57 0:01:24 0:00:33 $'2957k\r' 72 398M 72 288M 0 0 3463k 0 0:01:57 0:01:25 0:00:32 $'2944k\r' 73 398M 73 292M 0 0 3461k 0 0:01:57 0:01:26 0:00:31 $'3096k\r' 74 398M 74 295M 0 0 3463k 0 0:01:57 0:01:27 0:00:30 $'3240k\r' 75 398M 75 299M 0 0 3464k 0 0:01:57 0:01:28 0:00:29 $'3392k\r' 75 398M 75 302M 0 0 3460k 0 0:01:58 0:01:29 0:00:29 $'3392k\r' 76 398M 76 305M 0 0 3455k 0 0:01:58 0:01:30 0:00:28 $'3328k\r' 77 398M 77 308M 0 0 3449k 0 0:01:58 0:01:31 0:00:27 $'3242k\r' 78 398M 78 311M 0 0 3446k 0 0:01:58 0:01:32 0:00:26 $'3156k\r' 78 398M 78 314M 0 0 3442k 0 0:01:58 0:01:33 0:00:25 $'3065k\r' 79 398M 79 316M 0 0 3430k 0 0:01:59 0:01:34 0:00:25 $'2907k\r' 79 398M 79 318M 0 0 3414k 0 0:01:59 0:01:35 0:00:24 $'2667k\r' 80 398M 80 320M 0 0 3336k 0 0:02:02 0:01:38 0:00:24 $'1842k\r' 81 398M 81 323M 0 0 3360k 0 0:02:01 0:01:38 0:00:23 $'2036k\r' 81 398M 81 325M 0 0 3348k 0 0:02:01 0:01:39 0:00:22 $'1887k\r' 82 398M 82 327M 0 0 3341k 0 0:02:02 0:01:40 0:00:22 $'1930k\r' 82 398M 82 330M 0 0 3340k 0 0:02:02 0:01:41 0:00:21 $'2160k\r' 83 398M 83 333M 0 0 3336k 0 0:02:02 0:01:42 0:00:20 $'3328k\r' 84 398M 84 337M 0 0 3339k 0 0:02:02 0:01:43 0:00:19 $'2914k\r' 85 398M 85 341M 0 0 3347k 0 0:02:01 0:01:44 0:00:17 $'3307k\r' 86 398M 86 345M 0 0 3354k 0 0:02:01 0:01:45 0:00:16 $'3614k\r' 87 398M 87 349M 0 0 3357k 0 0:02:01 0:01:46 0:00:15 $'3708k\r' 88 398M 88 351M 0 0 3352k 0 0:02:01 0:01:47 0:00:14 $'3680k\r' 88 398M 88 353M 0 0 3340k 0 0:02:02 0:01:48 0:00:14 $'3365k\r' 89 398M 89 355M 0 0 3327k 0 0:02:02 0:01:49 0:00:13 $'2912k\r' 89 398M 89 357M 0 0 3311k 0 0:02:03 0:01:50 0:00:13 $'2414k\r' 89 398M 89 358M 0 0 3296k 0 0:02:03 0:01:51 0:00:12 $'1997k\r' 90 398M 90 360M 0 0 3282k 0 0:02:04 0:01:52 0:00:12 $'1788k\r' 90 398M 90 362M 0 0 3270k 0 0:02:04 0:01:53 0:00:11 $'1763k\r' 91 398M 91 364M 0 0 3264k 0 0:02:05 0:01:54 0:00:11 $'1883k\r' 92 398M 92 367M 0 0 3262k 0 0:02:05 0:01:55 0:00:10 $'2177k\r' 93 398M 93 371M 0 0 3264k 0 0:02:05 0:01:56 0:00:09 $'2563k\r' 93 398M 93 374M 0 0 3266k 0 0:02:05 0:01:57 0:00:08 $'2902k\r' 94 398M 94 378M 0 0 3269k 0 0:02:04 0:01:58 0:00:06 $'3238k\r' 95 398M 95 382M 0 0 3278k 0 0:02:04 0:01:59 0:00:05 $'3602k\r' 96 398M 96 386M 0 0 3283k 0 0:02:04 0:02:00 0:00:04 $'3763k\r' 97 398M 97 387M 0 0 2507k 0 0:02:42 0:02:38 0:00:04 $'394k\r' 98 398M 98 393M 0 0 2546k 0 0:02:40 0:02:38 0:00:02 $'483k\r' 99 398M 99 398M 0 0 2557k 0 0:02:39 0:02:39 --:--:-- $'500k\r100' 398M 100 398M 0 0 2559k 0 0:02:39 0:02:39 --:--:-- 417k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ bp=21 ++ bpb=21/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 1020k 0 0 2294k 0 0:02:57 --:--:-- 0:02:57 $'2298k\r' 1 398M 1 8060k 0 0 5577k 0 0:01:13 0:00:01 0:01:12 $'5578k\r' 3 398M 3 14.8M 0 0 6216k 0 0:01:05 0:00:02 0:01:03 $'6217k\r' 5 398M 5 20.7M 0 0 6176k 0 0:01:06 0:00:03 0:01:03 $'6177k\r' 5 398M 5 21.8M 0 0 2547k 0 0:02:40 0:00:08 0:02:32 $'2547k\r' 6 398M 6 27.5M 0 0 2986k 0 0:02:16 0:00:09 0:02:07 $'3020k\r' 7 398M 7 29.8M 0 0 2930k 0 0:02:19 0:00:10 0:02:09 $'2504k\r' 8 398M 8 32.9M 0 0 2949k 0 0:02:18 0:00:11 0:02:07 $'2061k\r' 9 398M 9 36.1M 0 0 2972k 0 0:02:17 0:00:12 0:02:05 $'1745k\r' 9 398M 9 39.2M 0 0 2986k 0 0:02:16 0:00:13 0:02:03 $'3811k\r' 10 398M 10 42.6M 0 0 3021k 0 0:02:15 0:00:14 0:02:01 $'3087k\r' 11 398M 11 46.5M 0 0 3086k 0 0:02:12 0:00:15 0:01:57 $'3414k\r' 12 398M 12 51.0M 0 0 3176k 0 0:02:08 0:00:16 0:01:52 $'3696k\r' 13 398M 13 54.9M 0 0 3225k 0 0:02:06 0:00:17 0:01:49 $'3856k\r' 14 398M 14 58.8M 0 0 3267k 0 0:02:04 0:00:18 0:01:46 $'4022k\r' 15 398M 15 62.8M 0 0 3311k 0 0:02:03 0:00:19 0:01:44 $'4150k\r' 16 398M 16 67.3M 0 0 3374k 0 0:02:01 0:00:20 0:01:41 $'4262k\r' 18 398M 18 72.2M 0 0 3451k 0 0:01:58 0:00:21 0:01:37 $'4357k\r' 19 398M 19 76.9M 0 0 3508k 0 0:01:56 0:00:22 0:01:34 $'4496k\r' 20 398M 20 81.5M 0 0 3561k 0 0:01:54 0:00:23 0:01:31 $'4646k\r' 21 398M 21 86.6M 0 0 3630k 0 0:01:52 0:00:24 0:01:28 $'4870k\r' 23 398M 23 92.0M 0 0 3703k 0 0:01:50 0:00:25 0:01:25 $'5049k\r' 24 398M 24 97.5M 0 0 3778k 0 0:01:48 0:00:26 0:01:22 $'5177k\r' 25 398M 25 102M 0 0 3820k 0 0:01:46 0:00:27 0:01:19 $'5218k\r' 26 398M 26 106M 0 0 3836k 0 0:01:46 0:00:28 0:01:18 $'5128k\r' 27 398M 27 111M 0 0 3863k 0 0:01:45 0:00:29 0:01:16 $'5004k\r' 28 398M 28 115M 0 0 3878k 0 0:01:45 0:00:30 0:01:15 $'4770k\r' 29 398M 29 119M 0 0 3894k 0 0:01:44 0:00:31 0:01:13 $'4512k\r' 30 398M 30 123M 0 0 3891k 0 0:01:44 0:00:32 0:01:12 $'4282k\r' 31 398M 31 127M 0 0 3893k 0 0:01:44 0:00:33 0:01:11 $'4212k\r' 32 398M 32 130M 0 0 3876k 0 0:01:45 0:00:34 0:01:11 $'3951k\r' 33 398M 33 134M 0 0 3877k 0 0:01:45 0:00:35 0:01:10 $'3869k\r' 34 398M 34 136M 0 0 3840k 0 0:01:46 0:00:36 0:01:10 $'3494k\r' 34 398M 34 138M 0 0 3793k 0 0:01:47 0:00:37 0:01:10 $'3155k\r' 35 398M 35 141M 0 0 3760k 0 0:01:48 0:00:38 0:01:10 $'2873k\r' 36 398M 36 144M 0 0 3752k 0 0:01:48 0:00:39 0:01:09 $'2892k\r' 37 398M 37 148M 0 0 3756k 0 0:01:48 0:00:40 0:01:08 $'2900k\r' 38 398M 38 151M 0 0 3748k 0 0:01:48 0:00:41 0:01:07 $'3084k\r' 38 398M 38 154M 0 0 3724k 0 0:01:49 0:00:42 0:01:07 $'3212k\r' 39 398M 39 157M 0 0 3714k 0 0:01:49 0:00:43 0:01:06 $'3356k\r' 40 398M 40 161M 0 0 3710k 0 0:01:50 0:00:44 0:01:06 $'3384k\r' 41 398M 41 165M 0 0 3720k 0 0:01:49 0:00:45 0:01:04 $'3427k\r' 42 398M 42 169M 0 0 3728k 0 0:01:49 0:00:46 0:01:03 $'3558k\r' 43 398M 43 173M 0 0 3737k 0 0:01:49 0:00:47 0:01:02 $'3845k\r' 44 398M 44 177M 0 0 3751k 0 0:01:48 0:00:48 0:01:00 $'4076k\r' 45 398M 45 182M 0 0 3772k 0 0:01:48 0:00:49 0:00:59 $'4323k\r' 46 398M 46 187M 0 0 3802k 0 0:01:47 0:00:50 0:00:57 $'4547k\r' 48 398M 48 192M 0 0 3822k 0 0:01:46 0:00:51 0:00:55 $'4701k\r' 49 398M 49 195M 0 0 3823k 0 0:01:46 0:00:52 0:00:54 $'4638k\r' 50 398M 50 199M 0 0 3828k 0 0:01:46 0:00:53 0:00:53 $'4572k\r' 51 398M 51 204M 0 0 3841k 0 0:01:46 0:00:54 0:00:52 $'4518k\r' 52 398M 52 208M 0 0 3857k 0 0:01:45 0:00:55 0:00:50 $'4406k\r' 53 398M 53 212M 0 0 3856k 0 0:01:45 0:00:56 0:00:49 $'4204k\r' 54 398M 54 215M 0 0 3841k 0 0:01:46 0:00:57 0:00:49 $'4032k\r' 54 398M 54 218M 0 0 3824k 0 0:01:46 0:00:58 0:00:48 $'3785k\r' 55 398M 55 221M 0 0 3813k 0 0:01:47 0:00:59 0:00:48 $'3510k\r' 56 398M 56 224M 0 0 3801k 0 0:01:47 0:01:00 0:00:47 $'3189k\r' 57 398M 57 227M 0 0 3797k 0 0:01:47 0:01:01 0:00:46 $'3128k\r' 58 398M 58 231M 0 0 3795k 0 0:01:47 0:01:02 0:00:45 $'3273k\r' 58 398M 58 234M 0 0 3790k 0 0:01:47 0:01:03 0:00:44 $'3392k\r' 59 398M 59 237M 0 0 3773k 0 0:01:48 0:01:04 0:00:44 $'3302k\r' 60 398M 60 239M 0 0 3747k 0 0:01:48 0:01:05 0:00:43 $'3096k\r' 60 398M 60 241M 0 0 3711k 0 0:01:50 0:01:06 0:00:44 $'2683k\r' 60 398M 60 243M 0 0 3690k 0 0:01:50 0:01:07 0:00:43 $'2372k\r' 61 398M 61 245M 0 0 3666k 0 0:01:51 0:01:08 0:00:43 $'2091k\r' 62 398M 62 247M 0 0 3648k 0 0:01:51 0:01:09 0:00:42 $'2031k\r' 62 398M 62 249M 0 0 3628k 0 0:01:52 0:01:10 0:00:42 $'2058k\r' 63 398M 63 251M 0 0 3611k 0 0:01:53 0:01:11 0:00:42 $'2244k\r' 63 398M 63 253M 0 0 3539k 0 0:01:55 0:01:13 0:00:42 $'1814k\r' 64 398M 64 255M 0 0 3563k 0 0:01:54 0:01:13 0:00:41 $'2159k\r' 64 398M 64 258M 0 0 3550k 0 0:01:55 0:01:14 0:00:41 $'2189k\r' 65 398M 65 260M 0 0 3539k 0 0:01:55 0:01:15 0:00:40 $'2294k\r' 65 398M 65 262M 0 0 3518k 0 0:01:56 0:01:16 0:00:40 $'2188k\r' 66 398M 66 265M 0 0 3504k 0 0:01:56 0:01:17 0:00:39 $'2875k\r' 67 398M 67 267M 0 0 3496k 0 0:01:56 0:01:18 0:00:38 $'2514k\r' 68 398M 68 271M 0 0 3496k 0 0:01:56 0:01:19 0:00:37 $'2690k\r' 68 398M 68 274M 0 0 3495k 0 0:01:56 0:01:20 0:00:36 $'2825k\r' 69 398M 69 277M 0 0 3483k 0 0:01:57 0:01:21 0:00:36 $'2947k\r' 70 398M 70 279M 0 0 3476k 0 0:01:57 0:01:22 0:00:35 $'3045k\r' 70 398M 70 282M 0 0 3468k 0 0:01:57 0:01:23 0:00:34 $'3022k\r' 71 398M 71 285M 0 0 3464k 0 0:01:57 0:01:24 0:00:33 $'2957k\r' 72 398M 72 288M 0 0 3463k 0 0:01:57 0:01:25 0:00:32 $'2944k\r' 73 398M 73 292M 0 0 3461k 0 0:01:57 0:01:26 0:00:31 $'3096k\r' 74 398M 74 295M 0 0 3463k 0 0:01:57 0:01:27 0:00:30 $'3240k\r' 75 398M 75 299M 0 0 3464k 0 0:01:57 0:01:28 0:00:29 $'3392k\r' 75 398M 75 302M 0 0 3460k 0 0:01:58 0:01:29 0:00:29 $'3392k\r' 76 398M 76 305M 0 0 3455k 0 0:01:58 0:01:30 0:00:28 $'3328k\r' 77 398M 77 308M 0 0 3449k 0 0:01:58 0:01:31 0:00:27 $'3242k\r' 78 398M 78 311M 0 0 3446k 0 0:01:58 0:01:32 0:00:26 $'3156k\r' 78 398M 78 314M 0 0 3442k 0 0:01:58 0:01:33 0:00:25 $'3065k\r' 79 398M 79 316M 0 0 3430k 0 0:01:59 0:01:34 0:00:25 $'2907k\r' 79 398M 79 318M 0 0 3414k 0 0:01:59 0:01:35 0:00:24 $'2667k\r' 80 398M 80 320M 0 0 3336k 0 0:02:02 0:01:38 0:00:24 $'1842k\r' 81 398M 81 323M 0 0 3360k 0 0:02:01 0:01:38 0:00:23 $'2036k\r' 81 398M 81 325M 0 0 3348k 0 0:02:01 0:01:39 0:00:22 $'1887k\r' 82 398M 82 327M 0 0 3341k 0 0:02:02 0:01:40 0:00:22 $'1930k\r' 82 398M 82 330M 0 0 3340k 0 0:02:02 0:01:41 0:00:21 $'2160k\r' 83 398M 83 333M 0 0 3336k 0 0:02:02 0:01:42 0:00:20 $'3328k\r' 84 398M 84 337M 0 0 3339k 0 0:02:02 0:01:43 0:00:19 $'2914k\r' 85 398M 85 341M 0 0 3347k 0 0:02:01 0:01:44 0:00:17 $'3307k\r' 86 398M 86 345M 0 0 3354k 0 0:02:01 0:01:45 0:00:16 $'3614k\r' 87 398M 87 349M 0 0 3357k 0 0:02:01 0:01:46 0:00:15 $'3708k\r' 88 398M 88 351M 0 0 3352k 0 0:02:01 0:01:47 0:00:14 $'3680k\r' 88 398M 88 353M 0 0 3340k 0 0:02:02 0:01:48 0:00:14 $'3365k\r' 89 398M 89 355M 0 0 3327k 0 0:02:02 0:01:49 0:00:13 $'2912k\r' 89 398M 89 357M 0 0 3311k 0 0:02:03 0:01:50 0:00:13 $'2414k\r' 89 398M 89 358M 0 0 3296k 0 0:02:03 0:01:51 0:00:12 $'1997k\r' 90 398M 90 360M 0 0 3282k 0 0:02:04 0:01:52 0:00:12 $'1788k\r' 90 398M 90 362M 0 0 3270k 0 0:02:04 0:01:53 0:00:11 $'1763k\r' 91 398M 91 364M 0 0 3264k 0 0:02:05 0:01:54 0:00:11 $'1883k\r' 92 398M 92 367M 0 0 3262k 0 0:02:05 0:01:55 0:00:10 $'2177k\r' 93 398M 93 371M 0 0 3264k 0 0:02:05 0:01:56 0:00:09 $'2563k\r' 93 398M 93 374M 0 0 3266k 0 0:02:05 0:01:57 0:00:08 $'2902k\r' 94 398M 94 378M 0 0 3269k 0 0:02:04 0:01:58 0:00:06 $'3238k\r' 95 398M 95 382M 0 0 3278k 0 0:02:04 0:01:59 0:00:05 $'3602k\r' 96 398M 96 386M 0 0 3283k 0 0:02:04 0:02:00 0:00:04 $'3763k\r' 97 398M 97 387M 0 0 2507k 0 0:02:42 0:02:38 0:00:04 $'394k\r' 98 398M 98 393M 0 0 2546k 0 0:02:40 0:02:38 0:00:02 $'483k\r' 99 398M 99 398M 0 0 2557k 0 0:02:39 0:02:39 --:--:-- $'500k\r100' 398M 100 398M 0 0 2559k 0 0:02:39 0:02:39 --:--:-- 417k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 21 ']' ++ '[' '!' -d 21 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/llvm-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/llvm-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 14.5M 0 94936 0 0 410k 0 0:00:36 --:--:-- 0:00:36 412k 60 14.5M 60 8987k 0 0 7442k 0 0:00:02 0:00:01 0:00:01 7446k 100 14.5M 100 14.5M 0 0 8219k 0 0:00:01 0:00:01 --:--:-- 8221k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 14.5M 0 94936 0 0 410k 0 0:00:36 --:--:-- 0:00:36 $'412k\r' 60 14.5M 60 8987k 0 0 7442k 0 0:00:02 0:00:01 0:00:01 $'7446k\r100' 14.5M 100 14.5M 0 0 8219k 0 0:00:01 0:00:01 --:--:-- 8221k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=uyi.20240128 ++ bpb=uyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 14.5M 0 94936 0 0 410k 0 0:00:36 --:--:-- 0:00:36 $'412k\r' 60 14.5M 60 8987k 0 0 7442k 0 0:00:02 0:00:01 0:00:01 $'7446k\r100' 14.5M 100 14.5M 0 0 8219k 0 0:00:01 0:00:01 --:--:-- 8221k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z uyi.20240128 ']' ++ '[' '!' -d uyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 90 3577k 90 3241k 0 0 4627k 0 --:--:-- --:--:-- --:--:-- 4630k 100 3577k 100 3577k 0 0 4793k 0 --:--:-- --:--:-- --:--:-- 4795k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 90 3577k 90 3241k 0 0 4627k 0 --:--:-- --:--:-- --:--:-- $'4630k\r100' 3577k 100 3577k 0 0 4793k 0 --:--:-- --:--:-- --:--:-- 4795k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=i.20231207+g03813c9fe8 ++ bpb=i.20231207+g03813c9fe8/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 90 3577k 90 3241k 0 0 4627k 0 --:--:-- --:--:-- --:--:-- $'4630k\r100' 3577k 100 3577k 0 0 4793k 0 --:--:-- --:--:-- --:--:-- 4795k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z i.20231207+g03813c9fe8 ']' ++ '[' '!' -d i.20231207+g03813c9fe8 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 +240128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 +28.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 82.3M 6 5574k 0 0 5797k 0 0:00:14 --:--:-- 0:00:14 5800k 16 82.3M 16 13.4M 0 0 7026k 0 0:00:12 0:00:01 0:00:11 7028k 25 82.3M 25 20.8M 0 0 7198k 0 0:00:11 0:00:02 0:00:09 7199k 34 82.3M 34 28.1M 0 0 7267k 0 0:00:11 0:00:03 0:00:08 7268k 44 82.3M 44 36.3M 0 0 7505k 0 0:00:11 0:00:04 0:00:07 7506k 53 82.3M 53 44.0M 0 0 7559k 0 0:00:11 0:00:05 0:00:06 7897k 62 82.3M 62 51.5M 0 0 7585k 0 0:00:11 0:00:06 0:00:05 7804k 72 82.3M 72 59.8M 0 0 7656k 0 0:00:11 0:00:08 0:00:03 7926k 80 82.3M 80 65.9M 0 0 7535k 0 0:00:11 0:00:08 0:00:03 7748k 87 82.3M 87 71.8M 0 0 7382k 0 0:00:11 0:00:09 0:00:02 7262k 93 82.3M 93 77.0M 0 0 7195k 0 0:00:11 0:00:10 0:00:01 6761k 99 82.3M 99 81.9M 0 0 7012k 0 0:00:12 0:00:11 0:00:01 6214k 100 82.3M 100 82.3M 0 0 6992k 0 0:00:12 0:00:12 --:--:-- 5684k +info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst +for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 +-ruyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 82.3M 6 5574k 0 0 5797k 0 0:00:14 --:--:-- 0:00:14 $'5800k\r' 16 82.3M 16 13.4M 0 0 7026k 0 0:00:12 0:00:01 0:00:11 $'7028k\r' 25 82.3M 25 20.8M 0 0 7198k 0 0:00:11 0:00:02 0:00:09 $'7199k\r' 34 82.3M 34 28.1M 0 0 7267k 0 0:00:11 0:00:03 0:00:08 $'7268k\r' 44 82.3M 44 36.3M 0 0 7505k 0 0:00:11 0:00:04 0:00:07 $'7506k\r' 53 82.3M 53 44.0M 0 0 7559k 0 0:00:11 0:00:05 0:00:06 $'7897k\r' 62 82.3M 62 51.5M 0 0 7585k 0 0:00:11 0:00:06 0:00:05 $'7804k\r' 72 82.3M 72 59.8M 0 0 7656k 0 0:00:11 0:00:08 0:00:03 $'7926k\r' 80 82.3M 80 65.9M 0 0 7535k 0 0:00:11 0:00:08 0:00:03 $'7748k\r' 87 82.3M 87 71.8M 0 0 7382k 0 0:00:11 0:00:09 0:00:02 $'7262k\r' 93 82.3M 93 77.0M 0 0 7195k 0 0:00:11 0:00:10 0:00:01 $'6761k\r' 99 82.3M 99 81.9M 0 0 7012k 0 0:00:12 0:00:11 0:00:01 $'6214k\r100' 82.3M 100 82.3M 0 0 6992k 0 0:00:12 0:00:12 --:--:-- 5684k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=-ruyi.20240128 ++ bpb=-ruyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 82.3M 6 5574k 0 0 5797k 0 0:00:14 --:--:-- 0:00:14 $'5800k\r' 16 82.3M 16 13.4M 0 0 7026k 0 0:00:12 0:00:01 0:00:11 $'7028k\r' 25 82.3M 25 20.8M 0 0 7198k 0 0:00:11 0:00:02 0:00:09 $'7199k\r' 34 82.3M 34 28.1M 0 0 7267k 0 0:00:11 0:00:03 0:00:08 $'7268k\r' 44 82.3M 44 36.3M 0 0 7505k 0 0:00:11 0:00:04 0:00:07 $'7506k\r' 53 82.3M 53 44.0M 0 0 7559k 0 0:00:11 0:00:05 0:00:06 $'7897k\r' 62 82.3M 62 51.5M 0 0 7585k 0 0:00:11 0:00:06 0:00:05 $'7804k\r' 72 82.3M 72 59.8M 0 0 7656k 0 0:00:11 0:00:08 0:00:03 $'7926k\r' 80 82.3M 80 65.9M 0 0 7535k 0 0:00:11 0:00:08 0:00:03 $'7748k\r' 87 82.3M 87 71.8M 0 0 7382k 0 0:00:11 0:00:09 0:00:02 $'7262k\r' 93 82.3M 93 77.0M 0 0 7195k 0 0:00:11 0:00:10 0:00:01 $'6761k\r' 99 82.3M 99 81.9M 0 0 7012k 0 0:00:12 0:00:11 0:00:01 $'6214k\r100' 82.3M 100 82.3M 0 0 6992k 0 0:00:12 0:00:12 --:--:-- 5684k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z -ruyi.20240128 ']' ++ '[' '!' -d -ruyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:23:14 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:23:14 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:23:14 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpz_zu2yw4 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpz_zu2yw4 +Wed Apr 10 02:23:16 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpz_zu2yw4 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpz_zu2yw4 +Wed Apr 10 02:24:41 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:24:42 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-03_00_24.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-03_00_24.log new file mode 100644 index 00000000..0bf0ef67 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-03_00_24.log @@ -0,0 +1,607 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:00:24 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 03:00:24 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpltr2nr4f ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpltr2nr4f ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpltr2nr4f ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpltr2nr4f +Wed Apr 10 03:00:32 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpltr2nr4f ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 23.7M 7 1723k 0 0 3140k 0 0:00:07 --:--:-- 0:00:07 3144k 30 23.7M 30 7339k 0 0 4739k 0 0:00:05 0:00:01 0:00:04 4741k 56 23.7M 56 13.3M 0 0 5346k 0 0:00:04 0:00:02 0:00:02 5348k 84 23.7M 84 20.0M 0 0 5771k 0 0:00:04 0:00:03 0:00:01 5772k 100 23.7M 100 23.7M 0 0 5973k 0 0:00:04 0:00:04 --:--:-- 5975k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpltr2nr4f ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpltr2nr4f +Wed Apr 10 03:00:37 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmpltr2nr4f ']' ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpltr2nr4f ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpltr2nr4f ++ tmpfile2=/tmp/tmpltr2nr4f ++ '[' -z /tmp/tmpltr2nr4f ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmpltr2nr4f ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmpltr2nr4f +Wed Apr 10 03:02:46 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpltr2nr4f ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:02:46 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:02:46 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: +4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting +objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting +objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting +objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting +objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting +objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting +objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting +objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting +objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting +objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 15928 0 0 98347 0 0:42:28 --:--:-- 0:42:28 98320 1 238M 1 3723k 0 0 3224k 0 0:01:15 0:00:01 0:01:14 3226k 3 238M 3 8107k 0 0 3768k 0 0:01:04 0:00:02 0:01:02 3769k 5 238M 5 12.9M 0 0 4223k 0 0:00:57 0:00:03 0:00:54 4223k 7 238M 7 17.8M 0 0 4408k 0 0:00:55 0:00:04 0:00:51 4408k 9 238M 9 22.8M 0 0 4534k 0 0:00:53 0:00:05 0:00:48 4677k 11 238M 11 28.3M 0 0 4719k 0 0:00:51 0:00:06 0:00:45 5065k 14 238M 14 34.6M 0 0 4968k 0 0:00:49 0:00:07 0:00:42 5484k 17 238M 17 41.8M 0 0 5252k 0 0:00:46 0:00:08 0:00:38 5900k 20 238M 20 49.6M 0 0 5561k 0 0:00:44 0:00:09 0:00:35 6518k 24 238M 24 58.2M 0 0 5874k 0 0:00:41 0:00:10 0:00:31 7254k 28 238M 28 67.5M 0 0 6205k 0 0:00:39 0:00:11 0:00:28 8032k 32 238M 32 77.6M 0 0 6546k 0 0:00:37 0:00:12 0:00:25 8803k 36 238M 36 88.3M 0 0 6882k 0 0:00:35 0:00:13 0:00:22 9539k 41 238M 41 99.4M 0 0 7198k 0 0:00:33 0:00:14 0:00:19 9.9M 46 238M 46 110M 0 0 7476k 0 0:00:32 0:00:15 0:00:17 10.4M 50 238M 50 121M 0 0 7711k 0 0:00:31 0:00:16 0:00:15 10.8M 55 238M 55 131M 0 0 7876k 0 0:00:31 0:00:17 0:00:14 10.8M 59 238M 59 143M 0 0 8068k 0 0:00:30 0:00:18 0:00:12 10.9M 64 238M 64 154M 0 0 8244k 0 0:00:29 0:00:19 0:00:10 10.9M 68 238M 68 164M 0 0 8376k 0 0:00:29 0:00:20 0:00:09 10.8M 73 238M 73 174M 0 0 8460k 0 0:00:28 0:00:21 0:00:07 10.6M 77 238M 77 185M 0 0 8565k 0 0:00:28 0:00:22 0:00:06 10.6M 80 238M 80 193M 0 0 8558k 0 0:00:28 0:00:23 0:00:05 10.0M 84 238M 84 202M 0 0 8573k 0 0:00:28 0:00:24 0:00:04 9836k 88 238M 88 210M 0 0 8565k 0 0:00:28 0:00:25 0:00:03 9324k 90 238M 90 217M 0 0 8507k 0 0:00:28 0:00:26 0:00:02 8707k 93 238M 93 223M 0 0 8439k 0 0:00:28 0:00:27 0:00:01 7878k 96 238M 96 229M 0 0 8356k 0 0:00:29 0:00:28 0:00:01 7420k 98 238M 98 236M 0 0 8304k 0 0:00:29 0:00:29 --:--:-- 7004k 100 238M 100 238M 0 0 8277k 0 0:00:29 0:00:29 --:--:-- 6639k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 308M 1 5652k 0 0 5377k 0 0:00:58 0:00:01 0:00:57 5378k 3 308M 3 11.9M 0 0 5987k 0 0:00:52 0:00:02 0:00:50 5987k 6 308M 6 20.8M 0 0 7021k 0 0:00:44 0:00:03 0:00:41 7021k 9 308M 9 30.0M 0 0 7599k 0 0:00:41 0:00:04 0:00:37 7599k 12 308M 12 37.8M 0 0 7688k 0 0:00:41 0:00:05 0:00:36 7796k 14 308M 14 45.3M 0 0 7686k 0 0:00:41 0:00:06 0:00:35 8173k 16 308M 16 52.0M 0 0 7561k 0 0:00:41 0:00:07 0:00:34 8204k 18 308M 18 56.1M 0 0 5014k 0 0:01:02 0:00:11 0:00:51 4289k 21 308M 21 65.6M 0 0 5574k 0 0:00:56 0:00:12 0:00:44 4553k 22 308M 22 69.2M 0 0 5432k 0 0:00:58 0:00:13 0:00:45 4009k 23 308M 23 73.7M 0 0 5375k 0 0:00:58 0:00:14 0:00:44 3628k 25 308M 25 79.1M 0 0 5388k 0 0:00:58 0:00:15 0:00:43 3476k 27 308M 27 85.5M 0 0 5458k 0 0:00:57 0:00:16 0:00:41 6571k 29 308M 29 89.4M 0 0 4235k 0 0:01:14 0:00:21 0:00:53 2547k 32 308M 32 100M 0 0 4670k 0 0:01:07 0:00:22 0:00:45 3566k 34 308M 34 104M 0 0 4663k 0 0:01:07 0:00:23 0:00:44 3553k 35 308M 35 110M 0 0 4694k 0 0:01:07 0:00:24 0:00:43 3532k 37 308M 37 116M 0 0 4760k 0 0:01:06 0:00:25 0:00:41 3514k 40 308M 40 123M 0 0 4857k 0 0:01:05 0:00:26 0:00:39 7903k 42 308M 42 131M 0 0 4981k 0 0:01:03 0:00:27 0:00:36 6352k 45 308M 45 140M 0 0 5127k 0 0:01:01 0:00:28 0:00:33 7267k 48 308M 48 150M 0 0 5294k 0 0:00:59 0:00:29 0:00:30 8179k 52 308M 52 160M 0 0 5480k 0 0:00:57 0:00:30 0:00:27 9091k 55 308M 55 171M 0 0 5671k 0 0:00:55 0:00:31 0:00:24 9913k 59 308M 59 183M 0 0 5850k 0 0:00:53 0:00:32 0:00:21 10.3M 63 308M 63 194M 0 0 6024k 0 0:00:52 0:00:33 0:00:19 10.7M 66 308M 66 204M 0 0 6162k 0 0:00:51 0:00:34 0:00:17 10.9M 70 308M 70 216M 0 0 6311k 0 0:00:50 0:00:35 0:00:15 11.0M 73 308M 73 227M 0 0 6453k 0 0:00:48 0:00:36 0:00:12 11.0M 77 308M 77 237M 0 0 6572k 0 0:00:48 0:00:37 0:00:11 10.9M 80 308M 80 248M 0 0 6681k 0 0:00:47 0:00:38 0:00:09 10.7M 84 308M 84 259M 0 0 6799k 0 0:00:46 0:00:39 0:00:07 10.8M 87 308M 87 270M 0 0 6911k 0 0:00:45 0:00:40 0:00:05 10.8M 91 308M 91 281M 0 0 7021k 0 0:00:44 0:00:41 0:00:03 10.8M 94 308M 94 292M 0 0 7114k 0 0:00:44 0:00:42 0:00:02 10.8M 98 308M 98 303M 0 0 7209k 0 0:00:43 0:00:43 --:--:-- 10.9M 100 308M 100 308M 0 0 7204k 0 0:00:43 0:00:43 --:--:-- 10.2M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 1348k 0 --:--:-- --:--:-- --:--:-- 1355k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=52f6a7dcb25b04beb6ee405c40eb6565116affa5, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.25.1 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[2/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[3/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[5/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[6/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[8/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[10/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[22/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[25/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[26/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[27/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[28/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[32/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[33/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[34/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[35/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[36/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[37/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[40/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[41/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[42/93] Linking C shared library libz.so.1.3.0.zlib-ng +[43/93] Creating library symlink libz.so.1 libz.so +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[74/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[75/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[76/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[77/93] Building C object test/CMakeFiles/example.dir/example.c.o +[78/93] Linking C executable switchlevels +[79/93] Linking C static library libz.a +[80/93] Linking C executable example +[81/93] Linking C executable minideflate +[82/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Linking C executable infcover +[85/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[86/93] Linking C executable minigzip +[87/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[88/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[89/93] Linking C executable makefixed +[90/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[91/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[92/93] Linking C executable maketrees +[93/93] Linking C executable makecrct ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:11:26 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:11:26 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:11:26 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpltr2nr4f ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpltr2nr4f +Wed Apr 10 03:11:26 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpltr2nr4f ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpltr2nr4f +Wed Apr 10 03:11:39 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpltr2nr4f ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpltr2nr4f +Wed Apr 10 03:11:40 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpltr2nr4f ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpltr2nr4f +Wed Apr 10 03:11:41 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:11:41 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-01_11_37.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-01_11_37.log new file mode 100644 index 00000000..640eef67 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-01_11_37.log @@ -0,0 +1,905 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 01:11:37 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 01:11:37 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp8tuwe700 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp8tuwe700 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp8tuwe700 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp8tuwe700 +Wed Apr 10 01:11:51 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp8tuwe700 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 17376 0 0 105k 0 0:03:50 --:--:-- 0:03:50 105k 6 23.7M 6 1696k 0 0 1486k 0 0:00:16 0:00:01 0:00:15 1487k 14 23.7M 14 3408k 0 0 1584k 0 0:00:15 0:00:02 0:00:13 1585k 17 23.7M 17 4304k 0 0 1370k 0 0:00:17 0:00:03 0:00:14 1370k 24 23.7M 24 6048k 0 0 1458k 0 0:00:16 0:00:04 0:00:12 1459k 35 23.7M 35 8688k 0 0 1690k 0 0:00:14 0:00:05 0:00:09 1741k 49 23.7M 49 11.6M 0 0 1943k 0 0:00:12 0:00:06 0:00:06 2048k 62 23.7M 62 14.7M 0 0 2121k 0 0:00:11 0:00:07 0:00:04 2353k 74 23.7M 74 17.7M 0 0 2234k 0 0:00:10 0:00:08 0:00:02 2777k 87 23.7M 87 20.8M 0 0 2335k 0 0:00:10 0:00:09 0:00:01 3062k 100 23.7M 100 23.7M 0 0 2454k 0 0:00:09 0:00:09 --:--:-- 3279k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 01:12:01 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 01:12:01 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct +gnu-plct-rv64ilp32-elf +gnu-plct-xthead +gnu-upstream +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ++ '[' '!' -z ' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ']' ++ pkgname=gnu-plct ++ break ++ '[' -z gnu-plct ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct- +linux-gnu.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct- +linux-gnu.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=coremark ++ mkdir source-test ++ cd source-test ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 1219k 0 --:--:-- --:--:-- --:--:-- 1224k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'barebones +core_list_join.c +core_main.c +coremark.h +core_matrix.c +core_state.c +core_util.c +cygwin +docs +LICENSE.md +linux +linux64 +Makefile +README.md +simple' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp8tuwe700 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp8tuwe700 +Wed Apr 10 01:22:40 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmp8tuwe700 ']' ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp8tuwe700 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp8tuwe700 +Wed Apr 10 01:22:43 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z /tmp/tmp8tuwe700 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp8tuwe700 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp8tuwe700 +Wed Apr 10 01:22:44 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp8tuwe700 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 66072 0 0 298k 0 0:01:21 --:--:-- 0:01:21 298k 16 23.7M 16 4015k 0 0 3298k 0 0:00:07 0:00:01 0:00:06 3299k 36 23.7M 36 8815k 0 0 3975k 0 0:00:06 0:00:02 0:00:04 3976k 56 23.7M 56 13.5M 0 0 4303k 0 0:00:05 0:00:03 0:00:02 4303k 79 23.7M 79 18.8M 0 0 4582k 0 0:00:05 0:00:04 0:00:01 4583k 98 23.7M 98 23.4M 0 0 4594k 0 0:00:05 0:00:05 --:--:-- 4780k 100 23.7M 100 23.7M 0 0 4605k 0 0:00:05 0:00:05 --:--:-- 4997k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 01:22:50 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 01:22:51 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 01:22:51 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp8tuwe700 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp8tuwe700 +Wed Apr 10 01:22:52 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp8tuwe700 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp8tuwe700 +Wed Apr 10 01:24:31 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 01:24:31 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_11_41.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_11_41.log new file mode 100644 index 00000000..7cf9bd24 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_11_41.log @@ -0,0 +1,263 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:11:41 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 03:11:42 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp5duav2gp ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp5duav2gp ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp5duav2gp ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp5duav2gp +Wed Apr 10 03:12:40 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp5duav2gp ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 191k 0 0 772k 0 0:00:31 --:--:-- 0:00:31 774k 19 23.7M 19 4623k 0 0 3704k 0 0:00:06 0:00:01 0:00:05 3704k 36 23.7M 36 8863k 0 0 3944k 0 0:00:06 0:00:02 0:00:04 3944k 56 23.7M 56 13.3M 0 0 4222k 0 0:00:05 0:00:03 0:00:02 4222k 81 23.7M 81 19.2M 0 0 4641k 0 0:00:05 0:00:04 0:00:01 4641k 100 23.7M 100 23.7M 0 0 4920k 0 0:00:04 0:00:04 --:--:-- 5140k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:12:45 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:12:45 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting +objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting +objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting +objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting +objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting +objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting +objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting +objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: No address associated with hostname ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:13:00 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:13:00 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:13:00 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp5duav2gp ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp5duav2gp +Wed Apr 10 03:13:01 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp5duav2gp ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp5duav2gp +Wed Apr 10 03:13:04 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:13:04 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_13_04.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_13_04.log new file mode 100644 index 00000000..70d11cd8 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_13_04.log @@ -0,0 +1,2772 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:13:04 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 03:13:05 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpphzm48_3 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpphzm48_3 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpphzm48_3 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpphzm48_3 +Wed Apr 10 03:13:29 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpphzm48_3 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 5 23.7M 5 1386k 0 0 3399k 0 0:00:07 --:--:-- 0:00:07 3398k 39 23.7M 39 9642k 0 0 6848k 0 0:00:03 0:00:01 0:00:02 6848k 78 23.7M 78 18.5M 0 0 7884k 0 0:00:03 0:00:02 0:00:01 7884k 100 23.7M 100 23.7M 0 0 8256k 0 0:00:02 0:00:02 --:--:-- 8257k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:13:32 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:13:32 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting +objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting +objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting +objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting +objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting +objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting +objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting +objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting +objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting +objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting +objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 16784 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 939k 3115k 5451k 7435k 9931k 12.1M 14.4M 16.6M 18.9M 21.4M 23.4M 25.9M 29.4M 33.7M 38.9M 44.7M 50.7M 57.0M 64.0M 71.4M 79.1M 87.0M 94.6M 101M 108M 115M 121M 127M 133M 139M 145M 150M 161M 164M 168M 174M 179M 184M 189M 194M 199M 204M 209M 214M 219M 225M 232M 238M 244M 250M 257M 265M 272M 279M 286M 294M 299M ' +++ echo Received Spent 0 939k 3115k 5451k 7435k 9931k 12.1M 14.4M 16.6M 18.9M 21.4M 23.4M 25.9M 29.4M 33.7M 38.9M 44.7M 50.7M 57.0M 64.0M 71.4M 79.1M 87.0M 94.6M 101M 108M 115M 121M 127M 133M 139M 145M 150M 161M 164M 168M 174M 179M 184M 189M 194M 199M 204M 209M 214M 219M 225M 232M 238M 244M 250M 257M 265M 272M 279M 286M 294M 299M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 939k =~ [0-9]+ ]] ++ [[ 939k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ ruyi device provision ++ nohup echo -e 'y\n1\n1\n2\ny' ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 16782 Done nohup echo -e "$now_exec" + 16783 Exit 120 | ruyi device provision 2>&1 + 16784 Killed | tee > /tmp/ruyi_device/output ++ kill -9 16885 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 1291k 4219k 7083k 9739k 12.0M 14.8M 17.5M 20.7M 24.3M 27.0M 30.1M 33.3M 36.7M 40.0M 43.5M 47.9M 53.1M 59.1M 65.8M 73.3M 81.6M 90.5M 100M 110M 121M 131M 142M 153M 164M 174M 184M 195M 207M 216M 224M 231M 239M 249M 259M 270M 281M 293M 303M 314M 325M 336M 347M 357M 367M 378M 389M 400M 411M 421M 432M 439M 448M 456M 464M ' +++ echo Received Spent 0 1291k 4219k 7083k 9739k 12.0M 14.8M 17.5M 20.7M 24.3M 27.0M 30.1M 33.3M 36.7M 40.0M 43.5M 47.9M 53.1M 59.1M 65.8M 73.3M 81.6M 90.5M 100M 110M 121M 131M 142M 153M 164M 174M 184M 195M 207M 216M 224M 231M 239M 249M 259M 270M 281M 293M 303M 314M 325M 336M 347M 357M 367M 378M 389M 400M 411M 421M 432M 439M 448M 456M 464M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 1291k =~ [0-9]+ ]] ++ [[ 1291k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 17023 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 3423k 12.1M 21.5M 32.4M 43.2M 54.2M 65.2M 76.1M 86.8M 97.3M 105M 116M 127M 138M 149M 160M 171M 181M 192M 203M 209M for ' +++ echo Received Spent 0 3423k 12.1M 21.5M 32.4M 43.2M 54.2M 65.2M 76.1M 86.8M 97.3M 105M 116M 127M 138M 149M 160M 171M 181M 192M 203M 209M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3423k =~ [0-9]+ ]] ++ [[ 3423k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ ruyi device provision ++ echo -e 'y\n2\n1\n1\nn' ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 17021 Done nohup echo -e "$now_exec" + 17022 Exit 120 | ruyi device provision 2>&1 + 17023 Killed | tee > /tmp/ruyi_device/output ++ kill -9 17118 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 3663k 14.2M 24.9M 29.9M 40.5M 51.0M 61.8M 72.6M 83.4M 93.4M 102M 113M 123M 134M 137M 154M 164M 175M 186M 194M for ' +++ echo Received Spent 0 3663k 14.2M 24.9M 29.9M 40.5M 51.0M 61.8M 72.6M 83.4M 93.4M 102M 113M 123M 134M 137M 154M 164M 175M 186M 194M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3663k =~ [0-9]+ ]] ++ [[ 3663k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ sed 's$/$_$g' +++ echo -E y212y ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ awk '{print $2}' +++ grep Choice /tmp/ruyi_device/output +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ awk '{print $2}' +++ grep Choice /tmp/ruyi_device/output +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ tee +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 16883 Done nohup echo -e "$now_exec" + 16884 Exit 120 | ruyi device provision 2>&1 + 16885 Killed | tee > /tmp/ruyi_device/output +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 17116 Done nohup echo -e "$now_exec" + 17117 Exit 120 | ruyi device provision 2>&1 + 17118 Killed | tee > /tmp/ruyi_device/output ++ kill -9 17238 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output +./common/device_lib.sh: line 37: 17236 Done nohup echo -e "$now_exec" + 17237 Exit 1 | ruyi device provision 2>&1 + 17238 Killed | tee > /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 57008 231k 1623k 3079k 6535k 9.8M 14.6M 18.4M 22.2M 27.2M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 57008 231k 1623k 3079k 6535k 9.8M 14.6M 18.4M 22.2M 27.2M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 57008 =~ [0-9]+ ]] ++ [[ 57008 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 17345 +./common/device_lib.sh: line 49: kill: (17345) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 98286 1135k 4623k 6400k 11.1M 14.8M 22.3M 26.2M 32.2M 38.9M 44.8M 51.0M 54.0M 58.1M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 98286 1135k 4623k 6400k 11.1M 14.8M 22.3M 26.2M 32.2M 38.9M 44.8M 51.0M 54.0M 58.1M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 98286 =~ [0-9]+ ]] ++ [[ 98286 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 17468 +./common/device_lib.sh: line 49: kill: (17468) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 13771 297k 3241k 6137k 11.5M 18.0M 24.8M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 13771 297k 3241k 6137k 11.5M 18.0M 24.8M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 13771 =~ [0-9]+ ]] ++ [[ 13771 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 17569 +./common/device_lib.sh: line 49: kill: (17569) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 6342 239k 2031k 8034k 11.4M 15.5M 17.6M 21.8M 24.5M 27.2M 30.5M 34.0M 39.3M 47.0M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 6342 239k 2031k 8034k 11.4M 15.5M 17.6M 21.8M 24.5M 27.2M 30.5M 34.0M 39.3M 47.0M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 6342 =~ [0-9]+ ]] ++ [[ 6342 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 17703 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 45447 654k 4286k 10.2M 15.0M 22.6M 28.5M 33.9M 41.9M 48.8M 51.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 45447 654k 4286k 10.2M 15.0M 22.6M 28.5M 33.9M 41.9M 48.8M 51.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 45447 =~ [0-9]+ ]] ++ [[ 45447 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ awk '{print $3}' +++ echo Happy 'hacking!' 0 0 ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-03:23:35.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:23:35 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:23:35 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:23:35 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpphzm48_3 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpphzm48_3 +Wed Apr 10 03:23:41 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpphzm48_3 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 121: 17701 Done nohup echo -e "$now_exec" + 17702 Exit 120 | ruyi device provision 2>&1 + 17703 Killed | tee > /tmp/ruyi_device/output ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpphzm48_3 +Wed Apr 10 03:24:08 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:24:08 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_23_35.tar.gz b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_23_35.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..103b7d1799327e924212b3a4516ba6ad3ed90c3e GIT binary patch literal 8270 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�t!-{$JuHSwg--;va%Y~TkCH+U(Pe1Q!R`kN2>0yap)Nd92@zGnkG%me-Z(S7V$T^8|#Vk0MA}J-4*BGhyL%638bfmFo_Q{<-oC(g|+0=92 z9*vZ+f4_ER$WbMpdwy^WrUfH_+kD3D9?Nf)`FZ_*ntEzP zdy3`~oR#e1=f$+^3lM*&~O4E#CUCev9^~(%B1q8 zP{b8e)5_?IwF#-})C(~v^r!NLF=|8+h036Q);7D3=cJyt6J4gbV-euAfk1W6*rWHPZfIM0CNa;s1iID}XI#Fsp$fjfwF;9S4lL literal 0 HcmV?d00001 diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-01_33_53.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-01_33_53.log new file mode 100644 index 00000000..41ad092a --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-01_33_53.log @@ -0,0 +1,295 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 01:33:53 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 01:33:53 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpnyfvc44r ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpnyfvc44r ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpnyfvc44r ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpnyfvc44r +Wed Apr 10 01:34:25 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpnyfvc44r ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 23.7M 3 780k 0 0 1371k 0 0:00:17 --:--:-- 0:00:17 1372k 12 23.7M 12 3052k 0 0 1947k 0 0:00:12 0:00:01 0:00:11 1948k 24 23.7M 24 5916k 0 0 2303k 0 0:00:10 0:00:02 0:00:08 2303k 38 23.7M 38 9388k 0 0 2631k 0 0:00:09 0:00:03 0:00:06 2631k 50 23.7M 50 11.8M 0 0 2123k 0 0:00:11 0:00:05 0:00:06 2124k 72 23.7M 72 17.1M 0 0 2678k 0 0:00:09 0:00:06 0:00:03 2802k 84 23.7M 84 19.9M 0 0 2705k 0 0:00:08 0:00:07 0:00:01 2903k 93 23.7M 93 22.1M 0 0 2643k 0 0:00:09 0:00:08 0:00:01 2789k 100 23.7M 100 23.7M 0 0 2635k 0 0:00:09 0:00:09 --:--:-- 2637k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 01:34:55 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 01:34:55 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 10 47.2M 10 4970k 0 0 5031k 0 0:00:09 --:--:-- 0:00:09 5035k 25 47.2M 25 11.8M 0 0 6116k 0 0:00:07 0:00:01 0:00:06 6116k 41 47.2M 41 19.5M 0 0 6687k 0 0:00:07 0:00:02 0:00:05 6688k 59 47.2M 59 27.9M 0 0 7188k 0 0:00:06 0:00:03 0:00:03 7189k 79 47.2M 79 37.4M 0 0 7682k 0 0:00:06 0:00:04 0:00:02 7682k 92 47.2M 92 43.7M 0 0 7486k 0 0:00:06 0:00:05 0:00:01 7971k 100 47.2M 100 47.2M 0 0 7356k 0 0:00:06 0:00:06 --:--:-- 7893k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 01:38:39 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 01:38:39 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 01:38:39 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpnyfvc44r ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpnyfvc44r +Wed Apr 10 01:38:39 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpnyfvc44r ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpnyfvc44r +Wed Apr 10 01:41:21 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 01:41:21 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-01_24_31.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-01_24_31.log new file mode 100644 index 00000000..91be68bf --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-01_24_31.log @@ -0,0 +1,266 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 01:24:31 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 01:24:32 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmptfsnljfz ++ '[' -z '' ']' ++ tmpfile=/tmp/tmptfsnljfz ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptfsnljfz ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmptfsnljfz +Wed Apr 10 01:24:51 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmptfsnljfz ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 9 23.7M 9 2378k 0 0 4215k 0 0:00:05 --:--:-- 0:00:05 4216k 42 23.7M 42 10.1M 0 0 6633k 0 0:00:03 0:00:01 0:00:02 6635k 79 23.7M 79 18.9M 0 0 7559k 0 0:00:03 0:00:02 0:00:01 7560k 100 23.7M 100 23.7M 0 0 7888k 0 0:00:03 0:00:03 --:--:-- 7892k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 01:24:54 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 01:24:54 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 238M 1 4746k 0 0 4883k 0 0:00:50 --:--:-- 0:00:50 4887k 4 238M 4 10.1M 0 0 5244k 0 0:00:46 0:00:01 0:00:45 5243k 5 238M 5 13.9M 0 0 4792k 0 0:00:51 0:00:02 0:00:49 4793k 7 238M 7 16.9M 0 0 4356k 0 0:00:56 0:00:03 0:00:53 4357k 8 238M 8 20.3M 0 0 4188k 0 0:00:58 0:00:04 0:00:54 4189k 9 238M 9 23.5M 0 0 4033k 0 0:01:00 0:00:05 0:00:55 3868k 11 238M 11 26.3M 0 0 3868k 0 0:01:03 0:00:06 0:00:57 3324k 12 238M 12 30.1M 0 0 3866k 0 0:01:03 0:00:07 0:00:56 3315k 14 238M 14 34.7M 0 0 3966k 0 0:01:01 0:00:08 0:00:53 3657k 16 238M 16 39.8M 0 0 4090k 0 0:00:59 0:00:09 0:00:50 3993k 19 238M 19 45.4M 0 0 4244k 0 0:00:57 0:00:10 0:00:47 4496k 21 238M 21 51.6M 0 0 4421k 0 0:00:55 0:00:11 0:00:44 5193k 24 238M 24 58.7M 0 0 4626k 0 0:00:52 0:00:12 0:00:40 5830k 27 238M 27 64.9M 0 0 4761k 0 0:00:51 0:00:13 0:00:38 6185k 30 238M 30 71.7M 0 0 4906k 0 0:00:49 0:00:14 0:00:35 6534k 32 238M 32 78.6M 0 0 5044k 0 0:00:48 0:00:15 0:00:33 6799k 36 238M 36 86.1M 0 0 5196k 0 0:00:47 0:00:16 0:00:31 7049k 39 238M 39 94.1M 0 0 5365k 0 0:00:45 0:00:17 0:00:28 7297k 42 238M 42 102M 0 0 5527k 0 0:00:44 0:00:18 0:00:26 7670k 46 238M 46 109M 0 0 5637k 0 0:00:43 0:00:19 0:00:24 7824k 49 238M 49 117M 0 0 5754k 0 0:00:42 0:00:20 0:00:22 8022k 52 238M 52 124M 0 0 5797k 0 0:00:42 0:00:21 0:00:21 7840k 53 238M 53 127M 0 0 5670k 0 0:00:43 0:00:22 0:00:21 6767k 54 238M 54 129M 0 0 5544k 0 0:00:44 0:00:23 0:00:21 5606k 55 238M 55 132M 0 0 5427k 0 0:00:45 0:00:24 0:00:21 4591k 56 238M 56 135M 0 0 5328k 0 0:00:45 0:00:25 0:00:20 3544k 57 238M 57 138M 0 0 5250k 0 0:00:46 0:00:26 0:00:20 2848k 59 238M 59 141M 0 0 5170k 0 0:00:47 0:00:27 0:00:20 2873k 60 238M 60 143M 0 0 5084k 0 0:00:48 0:00:28 0:00:20 2882k 60 238M 60 145M 0 0 4018k 0 0:01:00 0:00:37 0:00:23 1101k 64 238M 64 154M 0 0 4170k 0 0:00:58 0:00:37 0:00:21 1664k 65 238M 65 156M 0 0 4120k 0 0:00:59 0:00:38 0:00:21 1578k 66 238M 66 159M 0 0 4076k 0 0:01:00 0:00:39 0:00:21 1526k 67 238M 67 160M 0 0 4021k 0 0:01:00 0:00:40 0:00:20 1454k 67 238M 67 162M 0 0 3960k 0 0:01:01 0:00:41 0:00:20 3527k 68 238M 68 163M 0 0 3895k 0 0:01:02 0:00:42 0:00:20 1804k 69 238M 69 164M 0 0 3840k 0 0:01:03 0:00:43 0:00:20 1657k 69 238M 69 166M 0 0 3791k 0 0:01:04 0:00:44 0:00:20 1510k 70 238M 70 168M 0 0 3756k 0 0:01:05 0:00:45 0:00:20 1583k 71 238M 71 170M 0 0 3721k 0 0:01:05 0:00:46 0:00:19 1711k 72 238M 72 172M 0 0 3683k 0 0:01:06 0:00:47 0:00:19 1858k 72 238M 72 174M 0 0 3644k 0 0:01:07 0:00:48 0:00:19 1929k 73 238M 73 176M 0 0 3615k 0 0:01:07 0:00:49 0:00:18 2034k 74 238M 74 178M 0 0 3592k 0 0:01:08 0:00:50 0:00:18 2086k 75 238M 75 180M 0 0 3564k 0 0:01:08 0:00:51 0:00:17 2090k 76 238M 76 182M 0 0 3525k 0 0:01:09 0:00:52 0:00:17 2016k 76 238M 76 183M 0 0 3488k 0 0:01:10 0:00:53 0:00:17 1955k 77 238M 77 185M 0 0 3457k 0 0:01:10 0:00:54 0:00:16 1875k 78 238M 78 187M 0 0 3424k 0 0:01:11 0:00:55 0:00:16 1705k 79 238M 79 188M 0 0 3396k 0 0:01:12 0:00:56 0:00:16 1654k 80 238M 80 191M 0 0 3382k 0 0:01:12 0:00:57 0:00:15 1862k 81 238M 81 193M 0 0 3362k 0 0:01:12 0:00:58 0:00:14 2006k 82 238M 82 196M 0 0 3353k 0 0:01:12 0:00:59 0:00:13 2217k 83 238M 83 198M 0 0 3335k 0 0:01:13 0:01:00 0:00:13 2346k 83 238M 83 200M 0 0 3312k 0 0:01:13 0:01:01 0:00:12 2352k 84 238M 84 202M 0 0 3288k 0 0:01:14 0:01:02 0:00:12 2204k 85 238M 85 204M 0 0 3273k 0 0:01:14 0:01:03 0:00:11 2224k 86 238M 86 207M 0 0 3265k 0 0:01:14 0:01:04 0:00:10 2198k 87 238M 87 209M 0 0 3259k 0 0:01:15 0:01:05 0:00:10 2326k 88 238M 88 212M 0 0 3249k 0 0:01:15 0:01:06 0:00:09 2468k 89 238M 89 215M 0 0 3239k 0 0:01:15 0:01:07 0:00:08 2621k 90 238M 90 216M 0 0 2954k 0 0:01:22 0:01:15 0:00:07 1098k 95 238M 95 227M 0 0 3072k 0 0:01:19 0:01:15 0:00:04 1937k 97 238M 97 232M 0 0 3090k 0 0:01:19 0:01:16 0:00:03 2078k 99 238M 99 237M 0 0 3114k 0 0:01:18 0:01:17 0:00:01 2294k 100 238M 100 238M 0 0 3124k 0 0:01:18 0:01:18 --:--:-- 2366k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 01:33:49 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 01:33:49 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 01:33:49 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmptfsnljfz ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptfsnljfz +Wed Apr 10 01:33:49 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptfsnljfz ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptfsnljfz +Wed Apr 10 01:33:52 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 01:33:52 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-02_24_42.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-02_24_42.log new file mode 100644 index 00000000..8a0760bb --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-02_24_42.log @@ -0,0 +1,334 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:24:42 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 02:24:43 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpoq41gz1g ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpoq41gz1g ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpoq41gz1g ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpoq41gz1g +Wed Apr 10 02:27:58 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpoq41gz1g ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 17 23.7M 17 4156k 0 0 4259k 0 0:00:05 --:--:-- 0:00:05 4262k 61 23.7M 61 14.5M 0 0 7553k 0 0:00:03 0:00:01 0:00:02 7556k 100 23.7M 100 23.7M 0 0 8681k 0 0:00:02 0:00:02 --:--:-- 8685k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:28:01 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:28:01 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' x86_64 == riscv64 ']' ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting +objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting +objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting +objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% +(100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ++ '[' -z ' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ']' ++ '[' '!' -z qemu-user-riscv-upstream ']' +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ++ '[' -z ' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ']' ++ ruyi install llvm-upstream gnu-plct qemu-user-riscv-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 238M 2 6986k 0 0 6953k 0 0:00:35 0:00:01 0:00:34 6958k 7 238M 7 17.6M 0 0 9024k 0 0:00:27 0:00:02 0:00:25 9026k 12 238M 12 28.7M 0 0 9812k 0 0:00:24 0:00:03 0:00:21 9814k 15 238M 15 37.5M 0 0 9599k 0 0:00:25 0:00:04 0:00:21 9600k 18 238M 18 44.3M 0 0 9068k 0 0:00:26 0:00:05 0:00:21 9168k 21 238M 21 50.2M 0 0 8568k 0 0:00:28 0:00:06 0:00:22 8892k 23 238M 23 56.4M 0 0 8254k 0 0:00:29 0:00:07 0:00:22 7945k 26 238M 26 62.7M 0 0 8028k 0 0:00:30 0:00:08 0:00:22 6956k 29 238M 29 69.5M 0 0 7904k 0 0:00:30 0:00:09 0:00:21 6547k 32 238M 32 76.8M 0 0 7864k 0 0:00:31 0:00:10 0:00:21 6659k 35 238M 35 84.6M 0 0 7873k 0 0:00:31 0:00:11 0:00:20 7040k 35 238M 35 84.6M 0 0 4363k 0 0:00:56 0:00:19 0:00:37 2243k 39 238M 39 94.6M 0 0 4843k 0 0:00:50 0:00:20 0:00:30 2720k 40 238M 40 97.4M 0 0 4749k 0 0:00:51 0:00:21 0:00:30 2381k 41 238M 41 100M 0 0 4669k 0 0:00:52 0:00:22 0:00:30 2006k 43 238M 43 103M 0 0 4614k 0 0:00:53 0:00:23 0:00:30 1625k 44 238M 44 107M 0 0 4587k 0 0:00:53 0:00:24 0:00:29 5659k 46 238M 46 112M 0 0 4589k 0 0:00:53 0:00:25 0:00:28 3570k 49 238M 49 117M 0 0 4611k 0 0:00:53 0:00:26 0:00:27 4032k 51 238M 51 122M 0 0 4653k 0 0:00:52 0:00:27 0:00:25 4581k 53 238M 53 129M 0 0 4718k 0 0:00:51 0:00:28 0:00:23 5197k 56 238M 56 135M 0 0 4791k 0 0:00:51 0:00:29 0:00:22 5769k 59 238M 59 142M 0 0 4862k 0 0:00:50 0:00:30 0:00:20 6227k 62 238M 62 149M 0 0 4923k 0 0:00:49 0:00:31 0:00:18 6547k 65 238M 65 155M 0 0 4987k 0 0:00:49 0:00:32 0:00:17 6790k 68 238M 68 162M 0 0 5057k 0 0:00:48 0:00:33 0:00:15 6953k 71 238M 71 170M 0 0 5124k 0 0:00:47 0:00:34 0:00:13 7059k 74 238M 74 177M 0 0 5205k 0 0:00:47 0:00:35 0:00:12 7260k 77 238M 77 184M 0 0 5260k 0 0:00:46 0:00:36 0:00:10 7353k 80 238M 80 192M 0 0 5325k 0 0:00:45 0:00:37 0:00:08 7491k 83 238M 83 200M 0 0 5392k 0 0:00:45 0:00:38 0:00:07 7603k 86 238M 86 207M 0 0 5457k 0 0:00:44 0:00:39 0:00:05 7721k 89 238M 89 214M 0 0 5493k 0 0:00:44 0:00:40 0:00:04 7513k 92 238M 92 221M 0 0 5521k 0 0:00:44 0:00:41 0:00:03 7401k 95 238M 95 227M 0 0 5537k 0 0:00:44 0:00:42 0:00:02 7104k 97 238M 97 233M 0 0 5559k 0 0:00:44 0:00:43 0:00:01 6835k 100 238M 100 238M 0 0 5579k 0 0:00:43 0:00:43 --:--:-- 6560k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 2025k 0 0 3490k 0 0:01:56 --:--:-- 0:01:56 3491k 2 398M 2 8441k 0 0 5342k 0 0:01:16 0:00:01 0:01:15 5342k 3 398M 3 15.3M 0 0 6080k 0 0:01:07 0:00:02 0:01:05 6081k 5 398M 5 22.7M 0 0 6518k 0 0:01:02 0:00:03 0:00:59 6518k 7 398M 7 30.8M 0 0 6901k 0 0:00:59 0:00:04 0:00:55 6901k 9 398M 9 39.7M 0 0 7290k 0 0:00:56 0:00:05 0:00:51 7731k 12 398M 12 49.2M 0 0 7663k 0 0:00:53 0:00:06 0:00:47 8396k 14 398M 14 59.4M 0 0 8028k 0 0:00:50 0:00:07 0:00:43 9033k 17 398M 17 70.1M 0 0 8377k 0 0:00:48 0:00:08 0:00:40 9708k 20 398M 20 81.5M 0 0 8676k 0 0:00:47 0:00:09 0:00:38 10.0M 22 398M 22 91.4M 0 0 8849k 0 0:00:46 0:00:10 0:00:36 10.3M 25 398M 25 101M 0 0 8847k 0 0:00:46 0:00:11 0:00:35 10.1M 26 398M 26 107M 0 0 8665k 0 0:00:47 0:00:12 0:00:35 9612k 27 398M 27 111M 0 0 8397k 0 0:00:48 0:00:13 0:00:35 8431k 28 398M 28 114M 0 0 7833k 0 0:00:52 0:00:14 0:00:38 6322k 29 398M 29 115M 0 0 6071k 0 0:01:07 0:00:19 0:00:48 2786k 29 398M 29 116M 0 0 2574k 0 0:02:38 0:00:46 0:01:52 464k 29 398M 29 117M 0 0 2564k 0 0:02:39 0:00:47 0:01:52 313k 32 398M 32 128M 0 0 2771k 0 0:02:27 0:00:47 0:01:40 518k 33 398M 33 131M 0 0 2777k 0 0:02:27 0:00:48 0:01:39 519k 33 398M 33 134M 0 0 2782k 0 0:02:26 0:00:49 0:01:37 645k 34 398M 34 137M 0 0 2780k 0 0:02:26 0:00:50 0:01:36 5090k 35 398M 35 139M 0 0 2775k 0 0:02:27 0:00:51 0:01:36 4985k 35 398M 35 142M 0 0 2775k 0 0:02:27 0:00:52 0:01:35 2816k 36 398M 36 145M 0 0 2774k 0 0:02:27 0:00:53 0:01:34 2742k 37 398M 37 147M 0 0 2773k 0 0:02:27 0:00:54 0:01:33 2682k 37 398M 37 150M 0 0 2769k 0 0:02:27 0:00:55 0:01:32 2659k 38 398M 38 153M 0 0 2771k 0 0:02:27 0:00:56 0:01:31 2726k 39 398M 39 156M 0 0 2782k 0 0:02:26 0:00:57 0:01:29 2848k 40 398M 40 159M 0 0 2791k 0 0:02:26 0:00:58 0:01:28 2978k 40 398M 40 161M 0 0 2783k 0 0:02:26 0:00:59 0:01:27 2894k 41 398M 41 164M 0 0 2782k 0 0:02:26 0:01:00 0:01:26 2928k 41 398M 41 166M 0 0 2773k 0 0:02:27 0:01:01 0:01:26 2793k 42 398M 42 168M 0 0 2759k 0 0:02:27 0:01:02 0:01:25 2495k 42 398M 42 170M 0 0 2752k 0 0:02:28 0:01:03 0:01:25 2299k 43 398M 43 173M 0 0 2755k 0 0:02:28 0:01:04 0:01:24 2426k 44 398M 44 177M 0 0 2765k 0 0:02:27 0:01:05 0:01:22 2559k 45 398M 45 180M 0 0 2771k 0 0:02:27 0:01:06 0:01:21 2755k 45 398M 45 182M 0 0 2761k 0 0:02:27 0:01:07 0:01:20 2790k 46 398M 46 184M 0 0 2749k 0 0:02:28 0:01:08 0:01:20 2711k 46 398M 46 186M 0 0 2748k 0 0:02:28 0:01:09 0:01:19 2652k 47 398M 47 189M 0 0 2753k 0 0:02:28 0:01:10 0:01:18 2601k 48 398M 48 193M 0 0 2765k 0 0:02:27 0:01:11 0:01:16 2674k 49 398M 49 196M 0 0 2770k 0 0:02:27 0:01:12 0:01:15 2886k 50 398M 50 199M 0 0 2774k 0 0:02:27 0:01:13 0:01:14 3119k 50 398M 50 202M 0 0 2774k 0 0:02:27 0:01:14 0:01:13 3138k 51 398M 51 204M 0 0 2770k 0 0:02:27 0:01:15 0:01:12 3001k 51 398M 51 206M 0 0 2766k 0 0:02:27 0:01:16 0:01:11 2786k 52 398M 52 209M 0 0 2770k 0 0:02:27 0:01:17 0:01:10 2769k 53 398M 53 212M 0 0 2768k 0 0:02:27 0:01:18 0:01:09 2678k 54 398M 54 215M 0 0 2773k 0 0:02:27 0:01:19 0:01:08 2761k 55 398M 55 219M 0 0 2787k 0 0:02:26 0:01:20 0:01:06 3048k 56 398M 56 223M 0 0 2804k 0 0:02:25 0:01:21 0:01:04 3390k 56 398M 56 226M 0 0 2814k 0 0:02:25 0:01:22 0:01:03 3505k 57 398M 57 230M 0 0 2822k 0 0:02:24 0:01:23 0:01:01 3667k 58 398M 58 233M 0 0 2822k 0 0:02:24 0:01:24 0:01:00 3596k 59 398M 59 236M 0 0 2831k 0 0:02:24 0:01:25 0:00:59 3536k 60 398M 60 240M 0 0 2842k 0 0:02:23 0:01:26 0:00:57 3465k 61 398M 61 244M 0 0 2859k 0 0:02:22 0:01:27 0:00:55 3606k 62 398M 62 248M 0 0 2875k 0 0:02:22 0:01:28 0:00:54 3759k 63 398M 63 252M 0 0 2890k 0 0:02:21 0:01:29 0:00:52 4048k 64 398M 64 256M 0 0 2902k 0 0:02:20 0:01:30 0:00:50 4128k 65 398M 65 259M 0 0 2907k 0 0:02:20 0:01:31 0:00:49 4019k 66 398M 66 263M 0 0 2912k 0 0:02:20 0:01:32 0:00:48 3843k 66 398M 66 266M 0 0 2916k 0 0:02:19 0:01:33 0:00:46 3651k 67 398M 67 269M 0 0 2922k 0 0:02:19 0:01:34 0:00:45 3500k 68 398M 68 273M 0 0 2934k 0 0:02:19 0:01:35 0:00:44 3507k 69 398M 69 277M 0 0 2940k 0 0:02:18 0:01:36 0:00:42 3552k 70 398M 70 279M 0 0 2937k 0 0:02:19 0:01:37 0:00:42 3392k 70 398M 70 281M 0 0 2926k 0 0:02:19 0:01:38 0:00:41 3101k 71 398M 71 283M 0 0 2913k 0 0:02:20 0:01:39 0:00:41 2729k 71 398M 71 285M 0 0 2903k 0 0:02:20 0:01:40 0:00:40 2319k 71 398M 71 286M 0 0 2889k 0 0:02:21 0:01:41 0:00:40 1913k 72 398M 72 288M 0 0 2879k 0 0:02:21 0:01:42 0:00:39 1756k 72 398M 72 290M 0 0 2869k 0 0:02:22 0:01:43 0:00:39 1751k 73 398M 73 292M 0 0 2860k 0 0:02:22 0:01:44 0:00:38 1811k 73 398M 73 294M 0 0 2853k 0 0:02:23 0:01:45 0:00:38 1844k 74 398M 74 296M 0 0 2847k 0 0:02:23 0:01:46 0:00:37 1980k 74 398M 74 298M 0 0 2838k 0 0:02:23 0:01:47 0:00:36 2001k 75 398M 75 299M 0 0 2827k 0 0:02:24 0:01:48 0:00:36 1961k 75 398M 75 301M 0 0 2817k 0 0:02:24 0:01:49 0:00:35 1923k 76 398M 76 303M 0 0 2809k 0 0:02:25 0:01:50 0:00:35 1888k 76 398M 76 305M 0 0 2808k 0 0:02:25 0:01:51 0:00:34 1974k 77 398M 77 309M 0 0 2812k 0 0:02:25 0:01:52 0:00:33 2256k 78 398M 78 313M 0 0 2825k 0 0:02:24 0:01:53 0:00:31 2764k 79 398M 79 318M 0 0 2843k 0 0:02:23 0:01:54 0:00:29 3395k 81 398M 81 323M 0 0 2865k 0 0:02:22 0:01:55 0:00:27 4092k 82 398M 82 330M 0 0 2868k 0 0:02:22 0:01:57 0:00:25 3933k 85 398M 85 340M 0 0 2939k 0 0:02:18 0:01:58 0:00:20 5304k 86 398M 86 344M 0 0 2953k 0 0:02:18 0:01:59 0:00:19 5373k 87 398M 87 348M 0 0 2961k 0 0:02:17 0:02:00 0:00:17 5218k 88 398M 88 352M 0 0 2970k 0 0:02:17 0:02:01 0:00:16 4992k 89 398M 89 357M 0 0 2984k 0 0:02:16 0:02:02 0:00:14 5919k 90 398M 90 362M 0 0 3002k 0 0:02:15 0:02:03 0:00:12 4507k 91 398M 91 366M 0 0 3015k 0 0:02:15 0:02:04 0:00:11 4507k 93 398M 93 371M 0 0 3025k 0 0:02:14 0:02:05 0:00:09 4582k 94 398M 94 375M 0 0 3036k 0 0:02:14 0:02:06 0:00:08 4655k 95 398M 95 380M 0 0 3049k 0 0:02:13 0:02:07 0:00:06 4632k 96 398M 96 384M 0 0 3059k 0 0:02:13 0:02:08 0:00:05 4475k 97 398M 97 389M 0 0 3074k 0 0:02:12 0:02:09 0:00:03 4536k 98 398M 98 393M 0 0 3088k 0 0:02:12 0:02:10 0:00:02 4672k 99 398M 99 398M 0 0 3099k 0 0:02:11 0:02:11 --:--:-- 4669k 99 398M 99 398M 0 0 3063k 0 0:02:13 0:02:13 --:--:-- 3375k 100 398M 100 398M 0 0 3067k 0 0:02:13 0:02:13 --:--:-- 3281k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 13 14.5M 13 2020k 0 0 3906k 0 0:00:03 --:--:-- 0:00:03 3916k 62 14.5M 62 9300k 0 0 6132k 0 0:00:02 0:00:01 0:00:01 6139k 100 14.5M 100 14.5M 0 0 6534k 0 0:00:02 0:00:02 --:--:-- 6543k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128 ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t llvm-upstream --sysroot-from gnu-plct -e qemu-user-riscv-upstream generic venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/llvm_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_llvm.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ clang -O3 hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi llvm compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi llvm compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi binary failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi binary failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf llvm_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:37:39 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:37:40 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:37:40 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpoq41gz1g ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpoq41gz1g +Wed Apr 10 02:37:40 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpoq41gz1g ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpoq41gz1g +Wed Apr 10 02:37:48 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:37:48 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_59_53.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_59_53.log new file mode 100644 index 00000000..c014ab46 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_59_53.log @@ -0,0 +1,243 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:59:53 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 02:59:53 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpnno7k2f9 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpnno7k2f9 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpnno7k2f9 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpnno7k2f9 +Wed Apr 10 03:00:02 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpnno7k2f9 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 11 23.7M 11 2675k 0 0 3690k 0 0:00:06 --:--:-- 0:00:06 3690k 34 23.7M 34 8371k 0 0 4851k 0 0:00:05 0:00:01 0:00:04 4853k 56 23.7M 56 13.3M 0 0 5034k 0 0:00:04 0:00:02 0:00:02 5035k 78 23.7M 78 18.5M 0 0 5090k 0 0:00:04 0:00:03 0:00:01 5090k 100 23.7M 100 23.7M 0 0 5188k 0 0:00:04 0:00:04 --:--:-- 5189k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:00:07 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:00:07 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: +4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing +objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% +(63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: +24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% +(97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing +objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:03 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:00:19 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:00:20 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:00:20 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpnno7k2f9 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpnno7k2f9 +Wed Apr 10 03:00:20 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpnno7k2f9 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpnno7k2f9 +Wed Apr 10 03:00:23 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:00:23 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_41_45.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_41_45.log new file mode 100644 index 00000000..b4c93f50 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_41_45.log @@ -0,0 +1,303 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:41:45 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 02:41:45 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpkmc8fj_6 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpkmc8fj_6 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpkmc8fj_6 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpkmc8fj_6 +Wed Apr 10 02:41:56 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpkmc8fj_6 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 23.7M 6 1628k 0 0 1726k 0 0:00:14 --:--:-- 0:00:14 1726k 15 23.7M 15 3756k 0 0 1962k 0 0:00:12 0:00:01 0:00:11 1962k 22 23.7M 22 5372k 0 0 1835k 0 0:00:13 0:00:02 0:00:11 1836k 25 23.7M 25 6220k 0 0 1589k 0 0:00:15 0:00:03 0:00:12 1589k 29 23.7M 29 7260k 0 0 1477k 0 0:00:16 0:00:04 0:00:12 1477k 34 23.7M 34 8316k 0 0 1405k 0 0:00:17 0:00:05 0:00:12 1344k 40 23.7M 40 9788k 0 0 1415k 0 0:00:17 0:00:06 0:00:11 1206k 47 23.7M 47 11.1M 0 0 1447k 0 0:00:16 0:00:07 0:00:09 1218k 55 23.7M 55 13.0M 0 0 1503k 0 0:00:16 0:00:08 0:00:08 1436k 60 23.7M 60 14.4M 0 0 1492k 0 0:00:16 0:00:09 0:00:07 1507k 66 23.7M 66 15.8M 0 0 1487k 0 0:00:16 0:00:10 0:00:06 1584k 72 23.7M 72 17.1M 0 0 1476k 0 0:00:16 0:00:11 0:00:05 1561k 78 23.7M 78 18.5M 0 0 1473k 0 0:00:16 0:00:12 0:00:04 1515k 83 23.7M 83 19.7M 0 0 1454k 0 0:00:16 0:00:13 0:00:03 1366k 87 23.7M 87 20.8M 0 0 1430k 0 0:00:16 0:00:14 0:00:02 1308k 93 23.7M 93 22.2M 0 0 1429k 0 0:00:17 0:00:15 0:00:02 1302k 100 23.7M 100 23.7M 0 0 1440k 0 0:00:16 0:00:16 --:--:-- 1352k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:42:13 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:42:13 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ++ '[' -z ' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ']' ++ ruyi install gnu-plct qemu-user-riscv-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 294k 0 0 704k 0 0:05:47 --:--:-- 0:05:47 705k 0 238M 0 1414k 0 0 1003k 0 0:04:03 0:00:01 0:04:02 1003k 1 238M 1 2774k 0 0 1154k 0 0:03:31 0:00:02 0:03:29 1154k 1 238M 1 3910k 0 0 1149k 0 0:03:32 0:00:03 0:03:29 1149k 2 238M 2 5158k 0 0 1171k 0 0:03:28 0:00:04 0:03:24 1171k 2 238M 2 6582k 0 0 1217k 0 0:03:20 0:00:05 0:03:15 1260k 3 238M 3 7606k 0 0 1187k 0 0:03:26 0:00:06 0:03:20 1239k 3 238M 3 9062k 0 0 1224k 0 0:03:19 0:00:07 0:03:12 1257k 4 238M 4 10.2M 0 0 1244k 0 0:03:16 0:00:08 0:03:08 1308k 4 238M 4 11.4M 0 0 1249k 0 0:03:15 0:00:09 0:03:06 1318k 5 238M 5 13.0M 0 0 1283k 0 0:03:10 0:00:10 0:03:00 1353k 6 238M 6 14.5M 0 0 1302k 0 0:03:07 0:00:11 0:02:56 1450k 6 238M 6 16.5M 0 0 1368k 0 0:02:58 0:00:12 0:02:46 1581k 7 238M 7 18.6M 0 0 1427k 0 0:02:51 0:00:13 0:02:38 1734k 8 238M 8 20.1M 0 0 1430k 0 0:02:51 0:00:14 0:02:37 1770k 8 238M 8 21.3M 0 0 1417k 0 0:02:52 0:00:15 0:02:37 1696k 9 238M 9 22.7M 0 0 1419k 0 0:02:52 0:00:16 0:02:36 1686k 10 238M 10 24.1M 0 0 1419k 0 0:02:52 0:00:17 0:02:35 1545k 10 238M 10 25.2M 0 0 1405k 0 0:02:54 0:00:18 0:02:36 1346k 11 238M 11 26.8M 0 0 1415k 0 0:02:52 0:00:19 0:02:33 1373k 12 238M 12 28.6M 0 0 1439k 0 0:02:50 0:00:20 0:02:30 1507k 12 238M 12 30.3M 0 0 1454k 0 0:02:48 0:00:21 0:02:27 1568k 13 238M 13 32.8M 0 0 1499k 0 0:02:43 0:00:22 0:02:21 1779k 14 238M 14 35.0M 0 0 1531k 0 0:02:39 0:00:23 0:02:16 1996k 15 238M 15 37.0M 0 0 1554k 0 0:02:37 0:00:24 0:02:13 2092k 16 238M 16 38.6M 0 0 1556k 0 0:02:37 0:00:25 0:02:12 2035k 16 238M 16 40.6M 0 0 1574k 0 0:02:35 0:00:26 0:02:09 2089k 17 238M 17 42.2M 0 0 1579k 0 0:02:34 0:00:27 0:02:07 1939k 18 238M 18 44.3M 0 0 1555k 0 0:02:37 0:00:29 0:02:08 1653k 19 238M 19 46.0M 0 0 1603k 0 0:02:32 0:00:29 0:02:03 1843k 20 238M 20 49.0M 0 0 1652k 0 0:02:28 0:00:30 0:01:58 2137k 21 238M 21 50.8M 0 0 1657k 0 0:02:27 0:00:31 0:01:56 2092k 22 238M 22 52.6M 0 0 1664k 0 0:02:27 0:00:32 0:01:55 2127k 22 238M 22 54.0M 0 0 1656k 0 0:02:27 0:00:33 0:01:54 2354k 23 238M 23 55.5M 0 0 1654k 0 0:02:27 0:00:34 0:01:53 1954k 24 238M 24 57.5M 0 0 1663k 0 0:02:27 0:00:35 0:01:52 1733k 24 238M 24 59.4M 0 0 1673k 0 0:02:26 0:00:36 0:01:50 1776k 25 238M 25 61.3M 0 0 1678k 0 0:02:25 0:00:37 0:01:48 1769k 26 238M 26 63.0M 0 0 1680k 0 0:02:25 0:00:38 0:01:47 1846k 27 238M 27 64.5M 0 0 1677k 0 0:02:25 0:00:39 0:01:46 1833k 27 238M 27 66.2M 0 0 1679k 0 0:02:25 0:00:40 0:01:45 1793k 28 238M 28 68.6M 0 0 1697k 0 0:02:24 0:00:41 0:01:43 1868k 29 238M 29 70.9M 0 0 1714k 0 0:02:22 0:00:42 0:01:40 1983k 30 238M 30 73.5M 0 0 1735k 0 0:02:21 0:00:43 0:01:38 2153k 31 238M 31 75.6M 0 0 1743k 0 0:02:20 0:00:44 0:01:36 2266k 32 238M 32 78.1M 0 0 1762k 0 0:02:18 0:00:45 0:01:33 2428k 33 238M 33 80.4M 0 0 1775k 0 0:02:17 0:00:46 0:01:31 2425k 34 238M 34 81.8M 0 0 1767k 0 0:02:18 0:00:47 0:01:31 2217k 34 238M 34 82.8M 0 0 1752k 0 0:02:19 0:00:48 0:01:31 1906k 35 238M 35 84.0M 0 0 1741k 0 0:02:20 0:00:49 0:01:31 1727k 35 238M 35 85.1M 0 0 1729k 0 0:02:21 0:00:50 0:01:31 1433k 36 238M 36 86.1M 0 0 1715k 0 0:02:22 0:00:51 0:01:31 1155k 36 238M 36 87.4M 0 0 1709k 0 0:02:23 0:00:52 0:01:31 1161k 37 238M 37 89.3M 0 0 1713k 0 0:02:22 0:00:53 0:01:29 1334k 38 238M 38 91.2M 0 0 1717k 0 0:02:22 0:00:54 0:01:28 1482k 38 238M 38 92.7M 0 0 1714k 0 0:02:22 0:00:55 0:01:27 1560k 39 238M 39 94.1M 0 0 1708k 0 0:02:23 0:00:56 0:01:27 1643k 39 238M 39 95.4M 0 0 1702k 0 0:02:23 0:00:57 0:01:26 1622k 40 238M 40 96.5M 0 0 1692k 0 0:02:24 0:00:58 0:01:26 1460k 41 238M 41 98.0M 0 0 1690k 0 0:02:24 0:00:59 0:01:25 1395k 41 238M 41 100M 0 0 1701k 0 0:02:23 0:01:00 0:01:23 1558k 42 238M 42 102M 0 0 1710k 0 0:02:23 0:01:01 0:01:22 1731k 44 238M 44 105M 0 0 1730k 0 0:02:21 0:01:02 0:01:19 2054k 45 238M 45 108M 0 0 1744k 0 0:02:20 0:01:03 0:01:17 2355k 45 238M 45 109M 0 0 1744k 0 0:02:20 0:01:04 0:01:16 2380k 46 238M 46 111M 0 0 1742k 0 0:02:20 0:01:05 0:01:15 2244k 47 238M 47 112M 0 0 1738k 0 0:02:20 0:01:06 0:01:14 2083k 47 238M 47 114M 0 0 1736k 0 0:02:20 0:01:07 0:01:13 1807k 48 238M 48 115M 0 0 1725k 0 0:02:21 0:01:08 0:01:13 1490k 48 238M 48 115M 0 0 1711k 0 0:02:22 0:01:09 0:01:13 1286k 49 238M 49 117M 0 0 1706k 0 0:02:23 0:01:10 0:01:13 1235k 49 238M 49 119M 0 0 1712k 0 0:02:22 0:01:11 0:01:11 1356k 50 238M 50 121M 0 0 1711k 0 0:02:22 0:01:12 0:01:10 1385k 51 238M 51 122M 0 0 1714k 0 0:02:22 0:01:13 0:01:09 1561k 52 238M 52 124M 0 0 1719k 0 0:02:22 0:01:14 0:01:08 1833k 53 238M 53 127M 0 0 1729k 0 0:02:21 0:01:15 0:01:06 2050k 54 238M 54 129M 0 0 1736k 0 0:02:20 0:01:16 0:01:04 2088k 55 238M 55 131M 0 0 1740k 0 0:02:20 0:01:17 0:01:03 2150k 55 238M 55 133M 0 0 1746k 0 0:02:20 0:01:18 0:01:02 2221k 56 238M 56 135M 0 0 1753k 0 0:02:19 0:01:19 0:01:00 2262k 57 238M 57 137M 0 0 1751k 0 0:02:19 0:01:20 0:00:59 2081k 57 238M 57 138M 0 0 1743k 0 0:02:20 0:01:21 0:00:59 1844k 58 238M 58 139M 0 0 1734k 0 0:02:21 0:01:22 0:00:59 1654k 59 238M 59 141M 0 0 1732k 0 0:02:21 0:01:23 0:00:58 1513k 59 238M 59 142M 0 0 1734k 0 0:02:21 0:01:24 0:00:57 1420k 60 238M 60 144M 0 0 1737k 0 0:02:20 0:01:25 0:00:55 1516k 61 238M 61 147M 0 0 1742k 0 0:02:20 0:01:26 0:00:54 1724k 62 238M 62 148M 0 0 1740k 0 0:02:20 0:01:27 0:00:53 1833k 62 238M 62 150M 0 0 1740k 0 0:02:20 0:01:28 0:00:52 1862k 63 238M 63 152M 0 0 1747k 0 0:02:20 0:01:29 0:00:51 1977k 64 238M 64 154M 0 0 1752k 0 0:02:19 0:01:30 0:00:49 2002k 65 238M 65 156M 0 0 1756k 0 0:02:19 0:01:31 0:00:48 2000k 66 238M 66 158M 0 0 1759k 0 0:02:19 0:01:32 0:00:47 2096k 67 238M 67 160M 0 0 1759k 0 0:02:19 0:01:33 0:00:46 2105k 67 238M 67 162M 0 0 1759k 0 0:02:19 0:01:34 0:00:45 1966k 68 238M 68 163M 0 0 1757k 0 0:02:19 0:01:35 0:00:44 1853k 69 238M 69 165M 0 0 1754k 0 0:02:19 0:01:36 0:00:43 1724k 69 238M 69 167M 0 0 1756k 0 0:02:19 0:01:37 0:00:42 1702k 70 238M 70 169M 0 0 1738k 0 0:02:20 0:01:39 0:00:41 1416k 71 238M 71 171M 0 0 1752k 0 0:02:19 0:01:40 0:00:39 1654k 72 238M 72 173M 0 0 1752k 0 0:02:19 0:01:41 0:00:38 1663k 73 238M 73 175M 0 0 1755k 0 0:02:19 0:01:42 0:00:37 1762k 74 238M 74 177M 0 0 1757k 0 0:02:19 0:01:43 0:00:36 1759k 75 238M 75 179M 0 0 1759k 0 0:02:19 0:01:44 0:00:35 2185k 75 238M 75 180M 0 0 1756k 0 0:02:19 0:01:45 0:00:34 1830k 76 238M 76 182M 0 0 1757k 0 0:02:19 0:01:46 0:00:33 1869k 77 238M 77 184M 0 0 1754k 0 0:02:19 0:01:47 0:00:32 1752k 77 238M 77 184M 0 0 1741k 0 0:02:20 0:01:48 0:00:32 1419k 77 238M 77 184M 0 0 1727k 0 0:02:21 0:01:49 0:00:32 1061k 77 238M 77 184M 0 0 1715k 0 0:02:22 0:01:50 0:00:32 841k 77 238M 77 185M 0 0 1707k 0 0:02:23 0:01:51 0:00:32 627k 77 238M 77 186M 0 0 1697k 0 0:02:24 0:01:52 0:00:32 461k 78 238M 78 186M 0 0 1687k 0 0:02:25 0:01:53 0:00:32 519k 78 238M 78 186M 0 0 1673k 0 0:02:26 0:01:54 0:00:32 497k 78 238M 78 187M 0 0 1658k 0 0:02:27 0:01:55 0:00:32 429k 78 238M 78 187M 0 0 1645k 0 0:02:28 0:01:56 0:00:32 286k 78 238M 78 187M 0 0 1632k 0 0:02:29 0:01:57 0:00:32 174k 78 238M 78 187M 0 0 1619k 0 0:02:31 0:01:58 0:00:33 72277 78 238M 78 187M 0 0 1606k 0 0:02:32 0:01:59 0:00:33 78785 78 238M 78 187M 0 0 1593k 0 0:02:33 0:02:00 0:00:33 76216 78 238M 78 187M 0 0 1581k 0 0:02:34 0:02:01 0:00:33 72104 78 238M 78 187M 0 0 1568k 0 0:02:36 0:02:02 0:00:34 72234 78 238M 78 187M 0 0 1556k 0 0:02:37 0:02:03 0:00:34 78658 78 238M 78 187M 0 0 1544k 0 0:02:38 0:02:04 0:00:34 75159 78 238M 78 187M 0 0 1533k 0 0:02:39 0:02:05 0:00:34 78486 78 238M 78 187M 0 0 1521k 0 0:02:40 0:02:06 0:00:34 78580 78 238M 78 187M 0 0 1509k 0 0:02:42 0:02:07 0:00:35 74950 78 238M 78 187M 0 0 1498k 0 0:02:43 0:02:08 0:00:35 72046 79 238M 79 189M 0 0 1339k 0 0:03:02 0:02:24 0:00:38 68613 79 238M 79 189M 0 0 1332k 0 0:03:03 0:02:25 0:00:38 78627 79 238M 79 189M 0 0 1324k 0 0:03:04 0:02:26 0:00:38 83554 79 238M 79 189M 0 0 1317k 0 0:03:05 0:02:27 0:00:38 91076 79 238M 79 189M 0 0 1309k 0 0:03:06 0:02:28 0:00:38 98363 79 238M 79 190M 0 0 1307k 0 0:03:07 0:02:29 0:00:38 366k 80 238M 80 192M 0 0 1310k 0 0:03:06 0:02:30 0:00:36 671k 81 238M 81 194M 0 0 1318k 0 0:03:05 0:02:31 0:00:34 1128k 82 238M 82 198M 0 0 1331k 0 0:03:03 0:02:32 0:00:31 1756k 84 238M 84 201M 0 0 1342k 0 0:03:02 0:02:33 0:00:29 2307k 85 238M 85 203M 0 0 1349k 0 0:03:01 0:02:34 0:00:27 2602k 85 238M 85 205M 0 0 1353k 0 0:03:00 0:02:35 0:00:25 2630k 86 238M 86 207M 0 0 1357k 0 0:03:00 0:02:36 0:00:24 2528k 87 238M 87 209M 0 0 1359k 0 0:03:00 0:02:37 0:00:23 2204k 88 238M 88 210M 0 0 1362k 0 0:02:59 0:02:38 0:00:21 1976k 89 238M 89 212M 0 0 1366k 0 0:02:59 0:02:39 0:00:20 1900k 89 238M 89 214M 0 0 1372k 0 0:02:58 0:02:40 0:00:18 1958k 90 238M 90 217M 0 0 1378k 0 0:02:57 0:02:41 0:00:16 2041k 92 238M 92 219M 0 0 1386k 0 0:02:56 0:02:42 0:00:14 2242k 93 238M 93 222M 0 0 1395k 0 0:02:55 0:02:43 0:00:12 2445k 94 238M 94 224M 0 0 1400k 0 0:02:54 0:02:44 0:00:10 2468k 94 238M 94 226M 0 0 1402k 0 0:02:54 0:02:45 0:00:09 2365k 95 238M 95 228M 0 0 1404k 0 0:02:54 0:02:46 0:00:08 2258k 96 238M 96 230M 0 0 1410k 0 0:02:53 0:02:47 0:00:06 2192k 97 238M 97 232M 0 0 1414k 0 0:02:53 0:02:48 0:00:05 2028k 98 238M 98 234M 0 0 1416k 0 0:02:52 0:02:49 0:00:03 1949k 98 238M 98 235M 0 0 1415k 0 0:02:52 0:02:50 0:00:02 1867k 99 238M 99 237M 0 0 1416k 0 0:02:52 0:02:51 0:00:01 1805k 99 238M 99 238M 0 0 1418k 0 0:02:52 0:02:52 --:--:-- 1675k 100 238M 100 238M 0 0 1418k 0 0:02:52 0:02:52 --:--:-- 1582k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 14.5M 2 314k 0 0 651k 0 0:00:22 --:--:-- 0:00:22 652k 9 14.5M 9 1482k 0 0 987k 0 0:00:15 0:00:01 0:00:14 988k 9 14.5M 9 1482k 0 0 36636 0 0:06:57 0:00:41 0:06:16 36637 25 14.5M 25 3882k 0 0 95801 0 0:02:39 0:00:41 0:01:58 95802 33 14.5M 33 5050k 0 0 118k 0 0:02:05 0:00:42 0:01:23 118k 42 14.5M 42 6394k 0 0 147k 0 0:01:41 0:00:43 0:00:58 141k 55 14.5M 55 8218k 0 0 184k 0 0:01:20 0:00:44 0:00:36 156k 71 14.5M 71 10.4M 0 0 234k 0 0:01:03 0:00:45 0:00:18 2267k 83 14.5M 83 12.2M 0 0 269k 0 0:00:55 0:00:46 0:00:09 1737k 94 14.5M 94 13.7M 0 0 296k 0 0:00:50 0:00:47 0:00:03 1805k 100 14.5M 100 14.5M 0 0 311k 0 0:00:47 0:00:47 --:--:-- 1934k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128 ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct -e qemu-user-riscv-upstream milkv-duo venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plct-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +qemu-riscv64: warning: disabling zfa extension because privilege spec version does not match +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi emulation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi emulation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:50:14 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:50:14 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:50:14 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpkmc8fj_6 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpkmc8fj_6 +Wed Apr 10 02:50:15 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpkmc8fj_6 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpkmc8fj_6 +Wed Apr 10 02:50:24 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:50:24 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_51_10.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_51_10.log new file mode 100644 index 00000000..15531e61 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_51_10.log @@ -0,0 +1,290 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:51:10 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 02:51:11 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpjmn4mx3o ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpjmn4mx3o ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpjmn4mx3o ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpjmn4mx3o +Wed Apr 10 02:51:45 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpjmn4mx3o ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 8 23.7M 8 2168k 0 0 4070k 0 0:00:05 --:--:-- 0:00:05 4069k 39 23.7M 39 9576k 0 0 6259k 0 0:00:03 0:00:01 0:00:02 6259k 73 23.7M 73 17.5M 0 0 7111k 0 0:00:03 0:00:02 0:00:01 7111k 100 23.7M 100 23.7M 0 0 7499k 0 0:00:03 0:00:03 --:--:-- 7502k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:51:49 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:51:49 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: +7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting +objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting +objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% +(192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% +(222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% +(251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% +(281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% +(310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: +46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting +objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting +objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting +objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting +objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing +objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% +(88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: +32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% +(181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% +(194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 238M 3 7644k 0 0 7616k 0 0:00:32 0:00:01 0:00:31 7621k 7 238M 7 18.2M 0 0 9325k 0 0:00:26 0:00:02 0:00:24 9328k 11 238M 11 27.6M 0 0 9410k 0 0:00:26 0:00:03 0:00:23 9413k 15 238M 15 37.1M 0 0 9514k 0 0:00:25 0:00:04 0:00:21 9515k 19 238M 19 47.4M 0 0 9716k 0 0:00:25 0:00:05 0:00:20 9800k 24 238M 24 58.3M 0 0 9947k 0 0:00:24 0:00:06 0:00:18 10.1M 29 238M 29 69.4M 0 0 9.9M 0 0:00:24 0:00:07 0:00:17 10.2M 33 238M 33 80.6M 0 0 10.0M 0 0:00:23 0:00:08 0:00:15 10.6M 38 238M 38 91.1M 0 0 10.1M 0 0:00:23 0:00:09 0:00:14 10.7M 42 238M 42 101M 0 0 10.1M 0 0:00:23 0:00:10 0:00:13 10.8M 47 238M 47 113M 0 0 10.2M 0 0:00:23 0:00:11 0:00:12 10.9M 51 238M 51 124M 0 0 10.3M 0 0:00:23 0:00:12 0:00:11 10.9M 56 238M 56 134M 0 0 10.3M 0 0:00:23 0:00:13 0:00:10 10.8M 60 238M 60 144M 0 0 10.3M 0 0:00:23 0:00:14 0:00:09 10.7M 65 238M 65 155M 0 0 10.3M 0 0:00:23 0:00:15 0:00:08 10.7M 68 238M 68 164M 0 0 10.2M 0 0:00:23 0:00:16 0:00:07 10.2M 70 238M 70 168M 0 0 5638k 0 0:00:43 0:00:30 0:00:13 2428k 74 238M 74 177M 0 0 5853k 0 0:00:41 0:00:31 0:00:10 2416k 76 238M 76 182M 0 0 5826k 0 0:00:42 0:00:32 0:00:10 2117k 78 238M 78 187M 0 0 5825k 0 0:00:42 0:00:33 0:00:09 1831k 81 238M 81 194M 0 0 5850k 0 0:00:41 0:00:34 0:00:07 1717k 84 238M 84 201M 0 0 5896k 0 0:00:41 0:00:35 0:00:06 7655k 87 238M 87 209M 0 0 5967k 0 0:00:41 0:00:36 0:00:05 6673k 91 238M 91 218M 0 0 6054k 0 0:00:40 0:00:37 0:00:03 7513k 95 238M 95 228M 0 0 6157k 0 0:00:39 0:00:38 0:00:01 8348k 100 238M 100 238M 0 0 6274k 0 0:00:39 0:00:39 --:--:-- 9168k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:59:47 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:59:47 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:59:47 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpjmn4mx3o ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjmn4mx3o +Wed Apr 10 02:59:47 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjmn4mx3o ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjmn4mx3o +Wed Apr 10 02:59:52 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:59:52 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_37_48.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_37_48.log new file mode 100644 index 00000000..30233278 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_37_48.log @@ -0,0 +1,646 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:37:49 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 02:37:49 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmprc2fdru2 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmprc2fdru2 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmprc2fdru2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmprc2fdru2 +Wed Apr 10 02:38:02 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmprc2fdru2 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 17376 0 0 105k 0 0:03:50 --:--:-- 0:03:50 106k 18 23.7M 18 4393k 0 0 3788k 0 0:00:06 0:00:01 0:00:05 3790k 35 23.7M 35 8617k 0 0 3990k 0 0:00:06 0:00:02 0:00:04 3991k 51 23.7M 51 12.2M 0 0 3973k 0 0:00:06 0:00:03 0:00:03 3973k 67 23.7M 67 15.9M 0 0 3924k 0 0:00:06 0:00:04 0:00:02 3924k 82 23.7M 82 19.6M 0 0 3892k 0 0:00:06 0:00:05 0:00:01 4014k 97 23.7M 97 23.1M 0 0 3853k 0 0:00:06 0:00:06 --:--:-- 3868k 100 23.7M 100 23.7M 0 0 3832k 0 0:00:06 0:00:06 --:--:-- 3751k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:38:08 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:38:08 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct +gnu-plct-rv64ilp32-elf +gnu-plct-xthead +gnu-upstream +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ++ '[' '!' -z ' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ']' ++ pkgname=gnu-plct ++ break ++ '[' -z gnu-plct ']' ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20240324-PLCT-Source +s-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 1662k 0 0 2859k 0 0:01:25 --:--:-- 0:01:25 2861k 4 238M 4 11.0M 0 0 7131k 0 0:00:34 0:00:01 0:00:33 7133k 9 238M 9 21.9M 0 0 8701k 0 0:00:28 0:00:02 0:00:26 8703k 13 238M 13 33.0M 0 0 9457k 0 0:00:25 0:00:03 0:00:22 9458k 18 238M 18 43.2M 0 0 9673k 0 0:00:25 0:00:04 0:00:21 9674k 22 238M 22 53.7M 0 0 9869k 0 0:00:24 0:00:05 0:00:19 10.4M 27 238M 27 64.6M 0 0 9.8M 0 0:00:24 0:00:06 0:00:18 10.7M 31 238M 31 75.7M 0 0 9.9M 0 0:00:23 0:00:07 0:00:16 10.7M 36 238M 36 86.8M 0 0 10.1M 0 0:00:23 0:00:08 0:00:15 10.7M 41 238M 41 98.0M 0 0 10.2M 0 0:00:23 0:00:09 0:00:14 10.9M 45 238M 45 108M 0 0 10.2M 0 0:00:23 0:00:10 0:00:13 10.9M 49 238M 49 118M 0 0 10.2M 0 0:00:23 0:00:11 0:00:12 10.7M 53 238M 53 127M 0 0 10.1M 0 0:00:23 0:00:12 0:00:11 10.3M 57 238M 57 136M 0 0 10.0M 0 0:00:23 0:00:13 0:00:10 9.9M 60 238M 60 144M 0 0 9.9M 0 0:00:24 0:00:14 0:00:10 9564k 63 238M 63 152M 0 0 9991k 0 0:00:24 0:00:15 0:00:09 8910k 66 238M 66 159M 0 0 9827k 0 0:00:24 0:00:16 0:00:08 8326k 69 238M 69 166M 0 0 9713k 0 0:00:25 0:00:17 0:00:08 8025k 73 238M 73 174M 0 0 9638k 0 0:00:25 0:00:18 0:00:07 7884k 76 238M 76 183M 0 0 9617k 0 0:00:25 0:00:19 0:00:06 8028k 81 238M 81 194M 0 0 9672k 0 0:00:25 0:00:20 0:00:05 8678k 85 238M 85 205M 0 0 9747k 0 0:00:25 0:00:21 0:00:04 9481k 90 238M 90 216M 0 0 9819k 0 0:00:24 0:00:22 0:00:02 9.9M 95 238M 95 227M 0 0 9887k 0 0:00:24 0:00:23 0:00:01 10.5M 99 238M 99 238M 0 0 9941k 0 0:00:24 0:00:24 --:--:-- 10.9M 100 238M 100 238M 0 0 9940k 0 0:00:24 0:00:24 --:--:-- 11.0M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/x86_64/gnu-plct-0.20240 +324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:41:41 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:41:41 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:41:41 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmprc2fdru2 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmprc2fdru2 +Wed Apr 10 02:41:41 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmprc2fdru2 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmprc2fdru2 +Wed Apr 10 02:41:44 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:41:44 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_24_08.log b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_24_08.log new file mode 100644 index 00000000..7d4ce531 --- /dev/null +++ b/20240408/logs/debian12-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_24_08.log @@ -0,0 +1,320 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:24:08 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 03:24:08 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpg56wicda ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpg56wicda ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpg56wicda ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpg56wicda +Wed Apr 10 03:24:16 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpg56wicda ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 11 23.7M 11 2780k 0 0 4767k 0 0:00:05 --:--:-- 0:00:05 4769k 45 23.7M 45 10.8M 0 0 7026k 0 0:00:03 0:00:01 0:00:02 7027k 84 23.7M 84 20.0M 0 0 7933k 0 0:00:03 0:00:02 0:00:01 7933k 100 23.7M 100 23.7M 0 0 8180k 0 0:00:02 0:00:02 --:--:-- 8182k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:24:19 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:24:19 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ++ '[' -n ' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ']' ++ qemu_pkg=qemu-user-riscv-xthead ++ qemu_cmd='-e qemu-user-riscv-xthead' ++ ruyi install gnu-plct-xthead qemu-user-riscv-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 34 3577k 34 1235k 0 0 3020k 0 0:00:01 --:--:-- 0:00:01 3020k 100 3577k 100 3577k 0 0 5314k 0 --:--:-- --:--:-- --:--:-- 5315k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 308M 1 3435k 0 0 5354k 0 0:00:58 --:--:-- 0:00:58 5359k 4 308M 4 13.8M 0 0 8642k 0 0:00:36 0:00:01 0:00:35 8645k 8 308M 8 24.9M 0 0 9689k 0 0:00:32 0:00:02 0:00:30 9691k 11 308M 11 36.0M 0 0 9.8M 0 0:00:31 0:00:03 0:00:28 9.8M 14 308M 14 46.0M 0 0 9.9M 0 0:00:31 0:00:04 0:00:27 9.9M 18 308M 18 56.5M 0 0 10.0M 0 0:00:30 0:00:05 0:00:25 10.6M 21 308M 21 67.5M 0 0 10.1M 0 0:00:30 0:00:06 0:00:24 10.7M 25 308M 25 78.6M 0 0 10.2M 0 0:00:29 0:00:07 0:00:22 10.7M 29 308M 29 90.2M 0 0 10.4M 0 0:00:29 0:00:08 0:00:21 10.7M 32 308M 32 99.9M 0 0 10.3M 0 0:00:29 0:00:09 0:00:20 10.7M 35 308M 35 110M 0 0 10.4M 0 0:00:29 0:00:10 0:00:19 10.8M 39 308M 39 122M 0 0 10.4M 0 0:00:29 0:00:11 0:00:18 10.9M 43 308M 43 133M 0 0 10.5M 0 0:00:29 0:00:12 0:00:17 10.9M 46 308M 46 142M 0 0 10.4M 0 0:00:29 0:00:13 0:00:16 10.5M 48 308M 48 150M 0 0 10.2M 0 0:00:30 0:00:14 0:00:16 10.0M 51 308M 51 158M 0 0 10.1M 0 0:00:30 0:00:15 0:00:15 9718k 52 308M 52 163M 0 0 9155k 0 0:00:34 0:00:18 0:00:16 6358k 55 308M 55 172M 0 0 9451k 0 0:00:33 0:00:18 0:00:15 6618k 56 308M 56 175M 0 0 9154k 0 0:00:34 0:00:19 0:00:15 5650k 58 308M 58 180M 0 0 8930k 0 0:00:35 0:00:20 0:00:15 5111k 60 308M 60 185M 0 0 8769k 0 0:00:36 0:00:21 0:00:15 4592k 62 308M 62 191M 0 0 8657k 0 0:00:36 0:00:22 0:00:14 6590k 64 308M 64 198M 0 0 8593k 0 0:00:36 0:00:23 0:00:13 5391k 66 308M 66 206M 0 0 8566k 0 0:00:36 0:00:24 0:00:12 6254k 69 308M 69 214M 0 0 8575k 0 0:00:36 0:00:25 0:00:11 7107k 72 308M 72 222M 0 0 8543k 0 0:00:36 0:00:26 0:00:10 7564k 73 308M 73 227M 0 0 8438k 0 0:00:37 0:00:27 0:00:10 7446k 75 308M 75 234M 0 0 8370k 0 0:00:37 0:00:28 0:00:09 7315k 78 308M 78 241M 0 0 8337k 0 0:00:37 0:00:29 0:00:08 7209k 80 308M 80 249M 0 0 8333k 0 0:00:37 0:00:30 0:00:07 7091k 83 308M 83 258M 0 0 8353k 0 0:00:37 0:00:31 0:00:06 7344k 86 308M 86 267M 0 0 8397k 0 0:00:37 0:00:32 0:00:05 8172k 90 308M 90 277M 0 0 8460k 0 0:00:37 0:00:33 0:00:04 8976k 93 308M 93 287M 0 0 8490k 0 0:00:37 0:00:34 0:00:03 9395k 95 308M 95 294M 0 0 8463k 0 0:00:37 0:00:35 0:00:02 9263k 97 308M 97 301M 0 0 8420k 0 0:00:37 0:00:36 0:00:01 8841k 100 308M 100 308M 0 0 8403k 0 0:00:37 0:00:37 --:--:-- 8437k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead -e qemu-user-riscv-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n qemu-user-riscv-xthead ']' ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi emulation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi emulation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:29:58 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:29:58 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:29:58 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpg56wicda ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpg56wicda +Wed Apr 10 03:29:58 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpg56wicda ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpg56wicda +Wed Apr 10 03:30:09 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:30:09 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-09_18_24.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-09_18_24.log new file mode 100644 index 00000000..66957928 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-09_18_24.log @@ -0,0 +1,206 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 09:18:29 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:19:06 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:19:12 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:19:19 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 17 20.8M 17 3711k 0 0 1553k 0 0:00:13 0:00:02 0:00:11 1563k 42 20.8M 42 9103k 0 0 2747k 0 0:00:07 0:00:03 0:00:04 2761k 72 20.8M 72 15.2M 0 0 3539k 0 0:00:06 0:00:04 0:00:02 3552k 98 20.8M 98 20.4M 0 0 3958k 0 0:00:05 0:00:05 --:--:-- 3971k 100 20.8M 100 20.8M 0 0 3984k 0 0:00:05 0:00:05 --:--:-- 5327k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 09:19:34 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 09:19:36 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 09:20:46 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 09:20:48 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 09:20:50 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 09:20:51 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 09:21:02 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-07_58_09.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-07_58_09.log new file mode 100644 index 00000000..cb68d630 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-07_58_09.log @@ -0,0 +1,2881 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:58:13 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:58:51 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:58:57 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:59:04 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 20.8M 0 33742 0 0 19634 0 0:18:35 0:00:01 0:18:34 19848 21 20.8M 21 4681k 0 0 1695k 0 0:00:12 0:00:02 0:00:10 1707k 47 20.8M 47 9.8M 0 0 2706k 0 0:00:07 0:00:03 0:00:04 2720k 77 20.8M 77 16.1M 0 0 3427k 0 0:00:06 0:00:04 0:00:02 3440k 100 20.8M 100 20.8M 0 0 3776k 0 0:00:05 0:00:05 --:--:-- 4978k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:59:21 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:59:23 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% +(207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% +(237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% +(266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting +objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting +objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting +objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting +objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting +objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% +(294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 5 42.8M 5 2327k 0 0 974k 0 0:00:44 0:00:02 0:00:42 980k 19 42.8M 19 8518k 0 0 2483k 0 0:00:17 0:00:03 0:00:14 2493k 31 42.8M 31 13.5M 0 0 3141k 0 0:00:13 0:00:04 0:00:09 3152k 43 42.8M 43 18.8M 0 0 3542k 0 0:00:12 0:00:05 0:00:07 3551k 58 42.8M 58 25.1M 0 0 3932k 0 0:00:11 0:00:06 0:00:05 5193k 71 42.8M 71 30.4M 0 0 4174k 0 0:00:10 0:00:07 0:00:03 5683k 83 42.8M 83 35.6M 0 0 4354k 0 0:00:10 0:00:08 0:00:02 5647k 98 42.8M 98 41.9M 0 0 4523k 0 0:00:09 0:00:09 --:--:-- 5728k 100 42.8M 100 42.8M 0 0 4542k 0 0:00:09 0:00:09 --:--:-- 5837k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 5 42.8M 5 2327k 0 0 974k 0 0:00:44 0:00:02 0:00:42 $'980k\r' 19 42.8M 19 8518k 0 0 2483k 0 0:00:17 0:00:03 0:00:14 $'2493k\r' 31 42.8M 31 13.5M 0 0 3141k 0 0:00:13 0:00:04 0:00:09 $'3152k\r' 43 42.8M 43 18.8M 0 0 3542k 0 0:00:12 0:00:05 0:00:07 $'3551k\r' 58 42.8M 58 25.1M 0 0 3932k 0 0:00:11 0:00:06 0:00:05 $'5193k\r' 71 42.8M 71 30.4M 0 0 4174k 0 0:00:10 0:00:07 0:00:03 $'5683k\r' 83 42.8M 83 35.6M 0 0 4354k 0 0:00:10 0:00:08 0:00:02 $'5647k\r' 98 42.8M 98 41.9M 0 0 4523k 0 0:00:09 0:00:09 --:--:-- $'5728k\r100' 42.8M 100 42.8M 0 0 4542k 0 0:00:09 0:00:09 --:--:-- 5837k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 +++ awk '{print $NF}' ++ bp=23.0-ruyi.20240224 ++ bpb=23.0-ruyi.20240224/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 5 42.8M 5 2327k 0 0 974k 0 0:00:44 0:00:02 0:00:42 $'980k\r' 19 42.8M 19 8518k 0 0 2483k 0 0:00:17 0:00:03 0:00:14 $'2493k\r' 31 42.8M 31 13.5M 0 0 3141k 0 0:00:13 0:00:04 0:00:09 $'3152k\r' 43 42.8M 43 18.8M 0 0 3542k 0 0:00:12 0:00:05 0:00:07 $'3551k\r' 58 42.8M 58 25.1M 0 0 3932k 0 0:00:11 0:00:06 0:00:05 $'5193k\r' 71 42.8M 71 30.4M 0 0 4174k 0 0:00:10 0:00:07 0:00:03 $'5683k\r' 83 42.8M 83 35.6M 0 0 4354k 0 0:00:10 0:00:08 0:00:02 $'5647k\r' 98 42.8M 98 41.9M 0 0 4523k 0 0:00:09 0:00:09 --:--:-- $'5728k\r100' 42.8M 100 42.8M 0 0 4542k 0 0:00:09 0:00:09 --:--:-- 5837k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 23.0-ruyi.20240224 ']' ++ '[' '!' -d 23.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 231M 0 2324k 0 0 1070k 0 0:03:41 0:00:02 0:03:39 1086k 3 231M 3 7188k 0 0 2393k 0 0:01:38 0:00:03 0:01:35 2418k 5 231M 5 12.7M 0 0 3171k 0 0:01:14 0:00:04 0:01:10 3196k 7 231M 7 18.3M 0 0 3663k 0 0:01:04 0:00:05 0:00:59 3686k 10 231M 10 23.5M 0 0 3994k 0 0:00:59 0:00:06 0:00:53 5161k 12 231M 12 29.8M 0 0 4286k 0 0:00:55 0:00:07 0:00:48 5693k 15 231M 15 35.1M 0 0 4481k 0 0:00:52 0:00:08 0:00:44 5730k 17 231M 17 41.4M 0 0 4627k 0 0:00:51 0:00:09 0:00:42 5806k 20 231M 20 46.7M 0 0 4709k 0 0:00:50 0:00:10 0:00:40 5771k 22 231M 22 51.9M 0 0 4801k 0 0:00:49 0:00:11 0:00:38 5767k 25 231M 25 58.2M 0 0 4902k 0 0:00:48 0:00:12 0:00:36 5773k 27 231M 27 63.5M 0 0 4980k 0 0:00:47 0:00:13 0:00:34 5774k 30 231M 30 69.8M 0 0 5057k 0 0:00:46 0:00:14 0:00:32 5849k 32 231M 32 75.1M 0 0 5091k 0 0:00:46 0:00:15 0:00:31 5875k 34 231M 34 80.3M 0 0 5134k 0 0:00:46 0:00:16 0:00:30 5879k 37 231M 37 86.6M 0 0 5183k 0 0:00:45 0:00:17 0:00:28 5872k 39 231M 39 91.9M 0 0 5228k 0 0:00:45 0:00:18 0:00:27 5884k 42 231M 42 98.2M 0 0 5271k 0 0:00:44 0:00:19 0:00:25 5883k 44 231M 44 103M 0 0 5298k 0 0:00:44 0:00:20 0:00:24 5936k 47 231M 47 109M 0 0 5315k 0 0:00:44 0:00:21 0:00:23 5878k 49 231M 49 115M 0 0 5332k 0 0:00:44 0:00:22 0:00:22 5848k 52 231M 52 121M 0 0 5367k 0 0:00:44 0:00:23 0:00:21 5852k 54 231M 54 126M 0 0 5395k 0 0:00:43 0:00:24 0:00:19 5875k 57 231M 57 132M 0 0 5422k 0 0:00:43 0:00:25 0:00:18 5910k 59 231M 59 138M 0 0 5436k 0 0:00:43 0:00:26 0:00:17 5963k 62 231M 62 144M 0 0 5456k 0 0:00:43 0:00:27 0:00:16 6001k 64 231M 64 149M 0 0 5475k 0 0:00:43 0:00:28 0:00:15 5987k 67 231M 67 156M 0 0 5496k 0 0:00:43 0:00:29 0:00:14 5973k 70 231M 70 162M 0 0 5513k 0 0:00:42 0:00:30 0:00:12 5967k 72 231M 72 167M 0 0 5517k 0 0:00:42 0:00:31 0:00:11 5934k 74 231M 74 172M 0 0 5508k 0 0:00:43 0:00:32 0:00:11 5788k 77 231M 77 178M 0 0 5497k 0 0:00:43 0:00:33 0:00:10 5621k 78 231M 78 182M 0 0 5486k 0 0:00:43 0:00:34 0:00:09 5431k 81 231M 81 188M 0 0 5501k 0 0:00:43 0:00:35 0:00:08 5422k 83 231M 83 193M 0 0 5510k 0 0:00:42 0:00:36 0:00:06 5464k 86 231M 86 200M 0 0 5521k 0 0:00:42 0:00:37 0:00:05 5603k 88 231M 88 205M 0 0 5533k 0 0:00:42 0:00:38 0:00:04 5777k 91 231M 91 211M 0 0 5547k 0 0:00:42 0:00:39 0:00:03 5953k 93 231M 93 217M 0 0 5558k 0 0:00:42 0:00:40 0:00:02 5971k 96 231M 96 223M 0 0 5572k 0 0:00:42 0:00:41 0:00:01 6021k 99 231M 99 229M 0 0 5584k 0 0:00:42 0:00:42 --:--:-- 6050k 100 231M 100 231M 0 0 5587k 0 0:00:42 0:00:42 --:--:-- 6054k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l inux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 231M 0 2324k 0 0 1070k 0 0:03:41 0:00:02 0:03:39 $'1086k\r' 3 231M 3 7188k 0 0 2393k 0 0:01:38 0:00:03 0:01:35 $'2418k\r' 5 231M 5 12.7M 0 0 3171k 0 0:01:14 0:00:04 0:01:10 $'3196k\r' 7 231M 7 18.3M 0 0 3663k 0 0:01:04 0:00:05 0:00:59 $'3686k\r' 10 231M 10 23.5M 0 0 3994k 0 0:00:59 0:00:06 0:00:53 $'5161k\r' 12 231M 12 29.8M 0 0 4286k 0 0:00:55 0:00:07 0:00:48 $'5693k\r' 15 231M 15 35.1M 0 0 4481k 0 0:00:52 0:00:08 0:00:44 $'5730k\r' 17 231M 17 41.4M 0 0 4627k 0 0:00:51 0:00:09 0:00:42 $'5806k\r' 20 231M 20 46.7M 0 0 4709k 0 0:00:50 0:00:10 0:00:40 $'5771k\r' 22 231M 22 51.9M 0 0 4801k 0 0:00:49 0:00:11 0:00:38 $'5767k\r' 25 231M 25 58.2M 0 0 4902k 0 0:00:48 0:00:12 0:00:36 $'5773k\r' 27 231M 27 63.5M 0 0 4980k 0 0:00:47 0:00:13 0:00:34 $'5774k\r' 30 231M 30 69.8M 0 0 5057k 0 0:00:46 0:00:14 0:00:32 $'5849k\r' 32 231M 32 75.1M 0 0 5091k 0 0:00:46 0:00:15 0:00:31 $'5875k\r' 34 231M 34 80.3M 0 0 5134k 0 0:00:46 0:00:16 0:00:30 $'5879k\r' 37 231M 37 86.6M 0 0 5183k 0 0:00:45 0:00:17 0:00:28 $'5872k\r' 39 231M 39 91.9M 0 0 5228k 0 0:00:45 0:00:18 0:00:27 $'5884k\r' 42 231M 42 98.2M 0 0 5271k 0 0:00:44 0:00:19 0:00:25 $'5883k\r' 44 231M 44 103M 0 0 5298k 0 0:00:44 0:00:20 0:00:24 $'5936k\r' 47 231M 47 109M 0 0 5315k 0 0:00:44 0:00:21 0:00:23 $'5878k\r' 49 231M 49 115M 0 0 5332k 0 0:00:44 0:00:22 0:00:22 $'5848k\r' 52 231M 52 121M 0 0 5367k 0 0:00:44 0:00:23 0:00:21 $'5852k\r' 54 231M 54 126M 0 0 5395k 0 0:00:43 0:00:24 0:00:19 $'5875k\r' 57 231M 57 132M 0 0 5422k 0 0:00:43 0:00:25 0:00:18 $'5910k\r' 59 231M 59 138M 0 0 5436k 0 0:00:43 0:00:26 0:00:17 $'5963k\r' 62 231M 62 144M 0 0 5456k 0 0:00:43 0:00:27 0:00:16 $'6001k\r' 64 231M 64 149M 0 0 5475k 0 0:00:43 0:00:28 0:00:15 $'5987k\r' 67 231M 67 156M 0 0 5496k 0 0:00:43 0:00:29 0:00:14 $'5973k\r' 70 231M 70 162M 0 0 5513k 0 0:00:42 0:00:30 0:00:12 $'5967k\r' 72 231M 72 167M 0 0 5517k 0 0:00:42 0:00:31 0:00:11 $'5934k\r' 74 231M 74 172M 0 0 5508k 0 0:00:43 0:00:32 0:00:11 $'5788k\r' 77 231M 77 178M 0 0 5497k 0 0:00:43 0:00:33 0:00:10 $'5621k\r' 78 231M 78 182M 0 0 5486k 0 0:00:43 0:00:34 0:00:09 $'5431k\r' 81 231M 81 188M 0 0 5501k 0 0:00:43 0:00:35 0:00:08 $'5422k\r' 83 231M 83 193M 0 0 5510k 0 0:00:42 0:00:36 0:00:06 $'5464k\r' 86 231M 86 200M 0 0 5521k 0 0:00:42 0:00:37 0:00:05 $'5603k\r' 88 231M 88 205M 0 0 5533k 0 0:00:42 0:00:38 0:00:04 $'5777k\r' 91 231M 91 211M 0 0 5547k 0 0:00:42 0:00:39 0:00:03 $'5953k\r' 93 231M 93 217M 0 0 5558k 0 0:00:42 0:00:40 0:00:02 $'5971k\r' 96 231M 96 223M 0 0 5572k 0 0:00:42 0:00:41 0:00:01 $'6021k\r' 99 231M 99 229M 0 0 5584k 0 0:00:42 0:00:42 --:--:-- $'6050k\r100' 231M 100 231M 0 0 5587k 0 0:00:42 0:00:42 --:--:-- 6054k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l inux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 231M 0 2324k 0 0 1070k 0 0:03:41 0:00:02 0:03:39 $'1086k\r' 3 231M 3 7188k 0 0 2393k 0 0:01:38 0:00:03 0:01:35 $'2418k\r' 5 231M 5 12.7M 0 0 3171k 0 0:01:14 0:00:04 0:01:10 $'3196k\r' 7 231M 7 18.3M 0 0 3663k 0 0:01:04 0:00:05 0:00:59 $'3686k\r' 10 231M 10 23.5M 0 0 3994k 0 0:00:59 0:00:06 0:00:53 $'5161k\r' 12 231M 12 29.8M 0 0 4286k 0 0:00:55 0:00:07 0:00:48 $'5693k\r' 15 231M 15 35.1M 0 0 4481k 0 0:00:52 0:00:08 0:00:44 $'5730k\r' 17 231M 17 41.4M 0 0 4627k 0 0:00:51 0:00:09 0:00:42 $'5806k\r' 20 231M 20 46.7M 0 0 4709k 0 0:00:50 0:00:10 0:00:40 $'5771k\r' 22 231M 22 51.9M 0 0 4801k 0 0:00:49 0:00:11 0:00:38 $'5767k\r' 25 231M 25 58.2M 0 0 4902k 0 0:00:48 0:00:12 0:00:36 $'5773k\r' 27 231M 27 63.5M 0 0 4980k 0 0:00:47 0:00:13 0:00:34 $'5774k\r' 30 231M 30 69.8M 0 0 5057k 0 0:00:46 0:00:14 0:00:32 $'5849k\r' 32 231M 32 75.1M 0 0 5091k 0 0:00:46 0:00:15 0:00:31 $'5875k\r' 34 231M 34 80.3M 0 0 5134k 0 0:00:46 0:00:16 0:00:30 $'5879k\r' 37 231M 37 86.6M 0 0 5183k 0 0:00:45 0:00:17 0:00:28 $'5872k\r' 39 231M 39 91.9M 0 0 5228k 0 0:00:45 0:00:18 0:00:27 $'5884k\r' 42 231M 42 98.2M 0 0 5271k 0 0:00:44 0:00:19 0:00:25 $'5883k\r' 44 231M 44 103M 0 0 5298k 0 0:00:44 0:00:20 0:00:24 $'5936k\r' 47 231M 47 109M 0 0 5315k 0 0:00:44 0:00:21 0:00:23 $'5878k\r' 49 231M 49 115M 0 0 5332k 0 0:00:44 0:00:22 0:00:22 $'5848k\r' 52 231M 52 121M 0 0 5367k 0 0:00:44 0:00:23 0:00:21 $'5852k\r' 54 231M 54 126M 0 0 5395k 0 0:00:43 0:00:24 0:00:19 $'5875k\r' 57 231M 57 132M 0 0 5422k 0 0:00:43 0:00:25 0:00:18 $'5910k\r' 59 231M 59 138M 0 0 5436k 0 0:00:43 0:00:26 0:00:17 $'5963k\r' 62 231M 62 144M 0 0 5456k 0 0:00:43 0:00:27 0:00:16 $'6001k\r' 64 231M 64 149M 0 0 5475k 0 0:00:43 0:00:28 0:00:15 $'5987k\r' 67 231M 67 156M 0 0 5496k 0 0:00:43 0:00:29 0:00:14 $'5973k\r' 70 231M 70 162M 0 0 5513k 0 0:00:42 0:00:30 0:00:12 $'5967k\r' 72 231M 72 167M 0 0 5517k 0 0:00:42 0:00:31 0:00:11 $'5934k\r' 74 231M 74 172M 0 0 5508k 0 0:00:43 0:00:32 0:00:11 $'5788k\r' 77 231M 77 178M 0 0 5497k 0 0:00:43 0:00:33 0:00:10 $'5621k\r' 78 231M 78 182M 0 0 5486k 0 0:00:43 0:00:34 0:00:09 $'5431k\r' 81 231M 81 188M 0 0 5501k 0 0:00:43 0:00:35 0:00:08 $'5422k\r' 83 231M 83 193M 0 0 5510k 0 0:00:42 0:00:36 0:00:06 $'5464k\r' 86 231M 86 200M 0 0 5521k 0 0:00:42 0:00:37 0:00:05 $'5603k\r' 88 231M 88 205M 0 0 5533k 0 0:00:42 0:00:38 0:00:04 $'5777k\r' 91 231M 91 211M 0 0 5547k 0 0:00:42 0:00:39 0:00:03 $'5953k\r' 93 231M 93 217M 0 0 5558k 0 0:00:42 0:00:40 0:00:02 $'5971k\r' 96 231M 96 223M 0 0 5572k 0 0:00:42 0:00:41 0:00:01 $'6021k\r' 99 231M 99 229M 0 0 5584k 0 0:00:42 0:00:42 --:--:-- $'6050k\r100' 231M 100 231M 0 0 5587k 0 0:00:42 0:00:42 --:--:-- 6054k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fe425b1b7a491bda2534bdb80ee503838d852ef8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x00ffffff8756e000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff8747c000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff87306000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff87570000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31de725bef0a8f53eba36769a7be37eb620f7a2b, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00ffffff9afc3000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff9aecc000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff9ad56000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff9afc5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep executable ++ grep ELF ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=6818370a530b64acc240e73fe321d99cad94a723, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00ffffff839e6000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff83853000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff836dd000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff839e8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep .so ++ grep 'not found' ++ grep -vE '\(0x' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep executable ++ grep ELF ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00ffffffa13f1000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa1265000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa13f3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7dcd2e59d53f6d4df6af7b3e89b2cfe8ca36b34e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00ffffffb6dab000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffb6cb2000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffb6b3c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffb6dad000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c6b55f7b647f4be0abdddcd7c409dc955bfb739e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00ffffff94cbd000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff94b31000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff94cbf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=0b8b290ca6f508e50e2ee64996305cc443ac5b9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00ffffffa3601000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa346d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa3603000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00ffffffa5914000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa5788000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa5916000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00ffffffa0ceb000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa0b5f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa0ced000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00ffffff95555000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff953c9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff95557000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3fb51f60d57bc734aad41355e1322a1f69065a08, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00ffffff899cb000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8983f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff899cd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=aa885dc4f52b6e5a2dc3ff98ff89813779396b51, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00ffffffa9308000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa917c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa930a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=abe52db7cdccf81e5cfd6f19181c4774e518cfbf, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00ffffff83c2c000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff83aa0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff83c2e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f4c79502e3260a437a576e9d0e8ff928caf63a22, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00ffffffb1773000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffb15e7000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffb1775000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=250949fdcaea85ea941660452bee5c21163be16d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00ffffff892ec000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff89160000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff892ee000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=bdbc9147210bd108886a761a21f60e7c95dc50fe, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00ffffffb12d4000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffb1148000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffb12d6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=11def813f48d99dd78f2eed8d17c73351bf9a388, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x00ffffffac24a000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffac22f000) + libstdc++.so.6 => /lib64/lp64d/libstdc++.so.6 (0x00ffffffab400000) + libm.so.6 => /lib64/lp64d/libm.so.6 (0x00ffffffac1ae000) + libgcc_s.so.1 => /lib64/lp64d/libgcc_s.so.1 (0x00ffffffac192000) + libpthread.so.0 => /lib64/lp64d/libpthread.so.0 (0x00ffffffac18d000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffab68a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffac24c000) + libatomic.so.1 => /lib64/lp64d/libatomic.so.1 (0x00ffffffac182000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31a93e40023c23a993b5e737137c15f485083b1f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00ffffffa1ac0000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa1934000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa1ac2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=14684908d7a6f26b4fe822ccc2c8a1671837bf89, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00ffffff92ba8000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff929fb000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff92885000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff92baa000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00ffffff8fa68000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff8fa4d000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8f8d7000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8fa6a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00ffffff9bf7f000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff9bf64000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff9ba8a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff9bf81000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f56289121545e9eb29e087f10379becc076ad124, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00ffffff90a45000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff90a2a000) + libm.so.6 => /lib64/lp64d/libm.so.6 (0x00ffffff909a9000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff90833000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff90a47000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c1118173c3261176ae28b908f20c4041c87f3ab9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00ffffffb42db000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffb41e6000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffb4070000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffb42dd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=71097d0a87f2b1884d767d8642b4ad6efef42cb7, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00ffffffb5303000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffb51f7000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffb5081000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffb5305000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=be6ba9a387e69d9794c5ffe7787406e472079843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00ffffffb8dda000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffb8c17000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffb8aa1000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffb8ddc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=10be3c866f93235555c6a0c7224be62154ba798a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00ffffff9c5ac000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff9c4b5000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff9c33f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff9c5ae000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5043d4e49f9753ae93a7066487ac2033dbf381e3, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00ffffffac855000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffac5f1000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffac857000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8fe5d0c1d00aa3df97c5cff89f80764eba1e3bf1, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00ffffffa2f59000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffa2e67000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa2cf1000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa2f5b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=38962ec5375f6fee8f010906f654b502273effd8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00ffffffb3054000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffb2f61000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffb2deb000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffb3056000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8601474e5e55cf97a2e4bd5b6ad6e7d631e19ee5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00ffffff98870000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff98764000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff985ee000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff98872000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 294M 1 3439k 0 0 1371k 0 0:03:40 0:00:02 0:03:38 1380k 2 294M 2 8831k 0 0 2520k 0 0:01:59 0:00:03 0:01:56 2531k 4 294M 4 13.8M 0 0 3165k 0 0:01:35 0:00:04 0:01:31 3176k 6 294M 6 19.1M 0 0 3603k 0 0:01:23 0:00:05 0:01:18 3614k 8 294M 8 24.4M 0 0 3937k 0 0:01:16 0:00:06 0:01:10 5066k 10 294M 10 30.7M 0 0 4226k 0 0:01:11 0:00:07 0:01:04 5676k 12 294M 12 35.9M 0 0 4392k 0 0:01:08 0:00:08 0:01:00 5733k 13 294M 13 41.2M 0 0 4487k 0 0:01:07 0:00:09 0:00:58 5695k 15 294M 15 46.4M 0 0 4558k 0 0:01:06 0:00:10 0:00:56 5595k 17 294M 17 51.7M 0 0 4621k 0 0:01:05 0:00:11 0:00:54 5470k 19 294M 19 57.0M 0 0 4698k 0 0:01:04 0:00:12 0:00:52 5403k 21 294M 21 62.2M 0 0 4777k 0 0:01:03 0:00:13 0:00:50 5426k 23 294M 23 68.5M 0 0 4840k 0 0:01:02 0:00:14 0:00:48 5490k 25 294M 25 73.8M 0 0 4887k 0 0:01:01 0:00:15 0:00:46 5573k 26 294M 26 79.1M 0 0 4929k 0 0:01:01 0:00:16 0:00:45 5640k 28 294M 28 84.3M 0 0 4965k 0 0:01:00 0:00:17 0:00:43 5630k 30 294M 30 89.6M 0 0 4982k 0 0:01:00 0:00:18 0:00:42 5522k 32 294M 32 94.8M 0 0 5013k 0 0:01:00 0:00:19 0:00:41 5528k 33 294M 33 100M 0 0 5042k 0 0:00:59 0:00:20 0:00:39 5533k 36 294M 36 106M 0 0 5084k 0 0:00:59 0:00:21 0:00:38 5593k 37 294M 37 111M 0 0 5117k 0 0:00:58 0:00:22 0:00:36 5651k 40 294M 40 118M 0 0 5135k 0 0:00:58 0:00:23 0:00:35 5687k 41 294M 41 123M 0 0 5151k 0 0:00:58 0:00:24 0:00:34 5674k 43 294M 43 128M 0 0 5178k 0 0:00:58 0:00:25 0:00:33 5723k 45 294M 45 134M 0 0 5211k 0 0:00:57 0:00:26 0:00:31 5748k 47 294M 47 140M 0 0 5235k 0 0:00:57 0:00:27 0:00:30 5756k 49 294M 49 146M 0 0 5261k 0 0:00:57 0:00:28 0:00:29 5858k 51 294M 51 151M 0 0 5273k 0 0:00:57 0:00:29 0:00:28 5877k 53 294M 53 156M 0 0 5288k 0 0:00:57 0:00:30 0:00:27 5848k 55 294M 55 163M 0 0 5307k 0 0:00:56 0:00:31 0:00:25 5816k 57 294M 57 168M 0 0 5319k 0 0:00:56 0:00:32 0:00:24 5778k 59 294M 59 174M 0 0 5343k 0 0:00:56 0:00:33 0:00:23 5809k 61 294M 61 180M 0 0 5350k 0 0:00:56 0:00:34 0:00:22 5805k 62 294M 62 185M 0 0 5354k 0 0:00:56 0:00:35 0:00:21 5753k 64 294M 64 190M 0 0 5353k 0 0:00:56 0:00:36 0:00:20 5646k 66 294M 66 195M 0 0 5353k 0 0:00:56 0:00:37 0:00:19 5575k 68 294M 68 201M 0 0 5352k 0 0:00:56 0:00:38 0:00:18 5411k 70 294M 70 206M 0 0 5360k 0 0:00:56 0:00:39 0:00:17 5431k 71 294M 71 211M 0 0 5368k 0 0:00:56 0:00:40 0:00:16 5470k 73 294M 73 216M 0 0 5372k 0 0:00:56 0:00:41 0:00:15 5513k 75 294M 75 223M 0 0 5375k 0 0:00:56 0:00:42 0:00:14 5533k 77 294M 77 228M 0 0 5378k 0 0:00:56 0:00:43 0:00:13 5579k 79 294M 79 233M 0 0 5379k 0 0:00:56 0:00:44 0:00:12 5523k 81 294M 81 239M 0 0 5382k 0 0:00:56 0:00:45 0:00:11 5486k 82 294M 82 244M 0 0 5379k 0 0:00:56 0:00:46 0:00:10 5437k 84 294M 84 249M 0 0 5379k 0 0:00:56 0:00:47 0:00:09 5419k 86 294M 86 254M 0 0 5386k 0 0:00:56 0:00:48 0:00:08 5458k 88 294M 88 260M 0 0 5391k 0 0:00:55 0:00:49 0:00:06 5504k 90 294M 90 266M 0 0 5400k 0 0:00:55 0:00:50 0:00:05 5569k 92 294M 92 271M 0 0 5411k 0 0:00:55 0:00:51 0:00:04 5710k 94 294M 94 277M 0 0 5422k 0 0:00:55 0:00:52 0:00:03 5830k 96 294M 96 283M 0 0 5428k 0 0:00:55 0:00:53 0:00:02 5829k 98 294M 98 289M 0 0 5438k 0 0:00:55 0:00:54 0:00:01 5883k 99 294M 99 294M 0 0 5443k 0 0:00:55 0:00:55 --:--:-- 5878k 100 294M 100 294M 0 0 5443k 0 0:00:55 0:00:55 --:--:-- 5846k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 1 294M 1 3439k 0 0 1371k 0 0:03:40 0:00:02 0:03:38 $'1380k\r' 2 294M 2 8831k 0 0 2520k 0 0:01:59 0:00:03 0:01:56 $'2531k\r' 4 294M 4 13.8M 0 0 3165k 0 0:01:35 0:00:04 0:01:31 $'3176k\r' 6 294M 6 19.1M 0 0 3603k 0 0:01:23 0:00:05 0:01:18 $'3614k\r' 8 294M 8 24.4M 0 0 3937k 0 0:01:16 0:00:06 0:01:10 $'5066k\r' 10 294M 10 30.7M 0 0 4226k 0 0:01:11 0:00:07 0:01:04 $'5676k\r' 12 294M 12 35.9M 0 0 4392k 0 0:01:08 0:00:08 0:01:00 $'5733k\r' 13 294M 13 41.2M 0 0 4487k 0 0:01:07 0:00:09 0:00:58 $'5695k\r' 15 294M 15 46.4M 0 0 4558k 0 0:01:06 0:00:10 0:00:56 $'5595k\r' 17 294M 17 51.7M 0 0 4621k 0 0:01:05 0:00:11 0:00:54 $'5470k\r' 19 294M 19 57.0M 0 0 4698k 0 0:01:04 0:00:12 0:00:52 $'5403k\r' 21 294M 21 62.2M 0 0 4777k 0 0:01:03 0:00:13 0:00:50 $'5426k\r' 23 294M 23 68.5M 0 0 4840k 0 0:01:02 0:00:14 0:00:48 $'5490k\r' 25 294M 25 73.8M 0 0 4887k 0 0:01:01 0:00:15 0:00:46 $'5573k\r' 26 294M 26 79.1M 0 0 4929k 0 0:01:01 0:00:16 0:00:45 $'5640k\r' 28 294M 28 84.3M 0 0 4965k 0 0:01:00 0:00:17 0:00:43 $'5630k\r' 30 294M 30 89.6M 0 0 4982k 0 0:01:00 0:00:18 0:00:42 $'5522k\r' 32 294M 32 94.8M 0 0 5013k 0 0:01:00 0:00:19 0:00:41 $'5528k\r' 33 294M 33 100M 0 0 5042k 0 0:00:59 0:00:20 0:00:39 $'5533k\r' 36 294M 36 106M 0 0 5084k 0 0:00:59 0:00:21 0:00:38 $'5593k\r' 37 294M 37 111M 0 0 5117k 0 0:00:58 0:00:22 0:00:36 $'5651k\r' 40 294M 40 118M 0 0 5135k 0 0:00:58 0:00:23 0:00:35 $'5687k\r' 41 294M 41 123M 0 0 5151k 0 0:00:58 0:00:24 0:00:34 $'5674k\r' 43 294M 43 128M 0 0 5178k 0 0:00:58 0:00:25 0:00:33 $'5723k\r' 45 294M 45 134M 0 0 5211k 0 0:00:57 0:00:26 0:00:31 $'5748k\r' 47 294M 47 140M 0 0 5235k 0 0:00:57 0:00:27 0:00:30 $'5756k\r' 49 294M 49 146M 0 0 5261k 0 0:00:57 0:00:28 0:00:29 $'5858k\r' 51 294M 51 151M 0 0 5273k 0 0:00:57 0:00:29 0:00:28 $'5877k\r' 53 294M 53 156M 0 0 5288k 0 0:00:57 0:00:30 0:00:27 $'5848k\r' 55 294M 55 163M 0 0 5307k 0 0:00:56 0:00:31 0:00:25 $'5816k\r' 57 294M 57 168M 0 0 5319k 0 0:00:56 0:00:32 0:00:24 $'5778k\r' 59 294M 59 174M 0 0 5343k 0 0:00:56 0:00:33 0:00:23 $'5809k\r' 61 294M 61 180M 0 0 5350k 0 0:00:56 0:00:34 0:00:22 $'5805k\r' 62 294M 62 185M 0 0 5354k 0 0:00:56 0:00:35 0:00:21 $'5753k\r' 64 294M 64 190M 0 0 5353k 0 0:00:56 0:00:36 0:00:20 $'5646k\r' 66 294M 66 195M 0 0 5353k 0 0:00:56 0:00:37 0:00:19 $'5575k\r' 68 294M 68 201M 0 0 5352k 0 0:00:56 0:00:38 0:00:18 $'5411k\r' 70 294M 70 206M 0 0 5360k 0 0:00:56 0:00:39 0:00:17 $'5431k\r' 71 294M 71 211M 0 0 5368k 0 0:00:56 0:00:40 0:00:16 $'5470k\r' 73 294M 73 216M 0 0 5372k 0 0:00:56 0:00:41 0:00:15 $'5513k\r' 75 294M 75 223M 0 0 5375k 0 0:00:56 0:00:42 0:00:14 $'5533k\r' 77 294M 77 228M 0 0 5378k 0 0:00:56 0:00:43 0:00:13 $'5579k\r' 79 294M 79 233M 0 0 5379k 0 0:00:56 0:00:44 0:00:12 $'5523k\r' 81 294M 81 239M 0 0 5382k 0 0:00:56 0:00:45 0:00:11 $'5486k\r' 82 294M 82 244M 0 0 5379k 0 0:00:56 0:00:46 0:00:10 $'5437k\r' 84 294M 84 249M 0 0 5379k 0 0:00:56 0:00:47 0:00:09 $'5419k\r' 86 294M 86 254M 0 0 5386k 0 0:00:56 0:00:48 0:00:08 $'5458k\r' 88 294M 88 260M 0 0 5391k 0 0:00:55 0:00:49 0:00:06 $'5504k\r' 90 294M 90 266M 0 0 5400k 0 0:00:55 0:00:50 0:00:05 $'5569k\r' 92 294M 92 271M 0 0 5411k 0 0:00:55 0:00:51 0:00:04 $'5710k\r' 94 294M 94 277M 0 0 5422k 0 0:00:55 0:00:52 0:00:03 $'5830k\r' 96 294M 96 283M 0 0 5428k 0 0:00:55 0:00:53 0:00:02 $'5829k\r' 98 294M 98 289M 0 0 5438k 0 0:00:55 0:00:54 0:00:01 $'5883k\r' 99 294M 99 294M 0 0 5443k 0 0:00:55 0:00:55 --:--:-- $'5878k\r100' 294M 100 294M 0 0 5443k 0 0:00:55 0:00:55 --:--:-- 5846k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 0222 ++ bp=0222 ++ bpb=0222/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 1 294M 1 3439k 0 0 1371k 0 0:03:40 0:00:02 0:03:38 $'1380k\r' 2 294M 2 8831k 0 0 2520k 0 0:01:59 0:00:03 0:01:56 $'2531k\r' 4 294M 4 13.8M 0 0 3165k 0 0:01:35 0:00:04 0:01:31 $'3176k\r' 6 294M 6 19.1M 0 0 3603k 0 0:01:23 0:00:05 0:01:18 $'3614k\r' 8 294M 8 24.4M 0 0 3937k 0 0:01:16 0:00:06 0:01:10 $'5066k\r' 10 294M 10 30.7M 0 0 4226k 0 0:01:11 0:00:07 0:01:04 $'5676k\r' 12 294M 12 35.9M 0 0 4392k 0 0:01:08 0:00:08 0:01:00 $'5733k\r' 13 294M 13 41.2M 0 0 4487k 0 0:01:07 0:00:09 0:00:58 $'5695k\r' 15 294M 15 46.4M 0 0 4558k 0 0:01:06 0:00:10 0:00:56 $'5595k\r' 17 294M 17 51.7M 0 0 4621k 0 0:01:05 0:00:11 0:00:54 $'5470k\r' 19 294M 19 57.0M 0 0 4698k 0 0:01:04 0:00:12 0:00:52 $'5403k\r' 21 294M 21 62.2M 0 0 4777k 0 0:01:03 0:00:13 0:00:50 $'5426k\r' 23 294M 23 68.5M 0 0 4840k 0 0:01:02 0:00:14 0:00:48 $'5490k\r' 25 294M 25 73.8M 0 0 4887k 0 0:01:01 0:00:15 0:00:46 $'5573k\r' 26 294M 26 79.1M 0 0 4929k 0 0:01:01 0:00:16 0:00:45 $'5640k\r' 28 294M 28 84.3M 0 0 4965k 0 0:01:00 0:00:17 0:00:43 $'5630k\r' 30 294M 30 89.6M 0 0 4982k 0 0:01:00 0:00:18 0:00:42 $'5522k\r' 32 294M 32 94.8M 0 0 5013k 0 0:01:00 0:00:19 0:00:41 $'5528k\r' 33 294M 33 100M 0 0 5042k 0 0:00:59 0:00:20 0:00:39 $'5533k\r' 36 294M 36 106M 0 0 5084k 0 0:00:59 0:00:21 0:00:38 $'5593k\r' 37 294M 37 111M 0 0 5117k 0 0:00:58 0:00:22 0:00:36 $'5651k\r' 40 294M 40 118M 0 0 5135k 0 0:00:58 0:00:23 0:00:35 $'5687k\r' 41 294M 41 123M 0 0 5151k 0 0:00:58 0:00:24 0:00:34 $'5674k\r' 43 294M 43 128M 0 0 5178k 0 0:00:58 0:00:25 0:00:33 $'5723k\r' 45 294M 45 134M 0 0 5211k 0 0:00:57 0:00:26 0:00:31 $'5748k\r' 47 294M 47 140M 0 0 5235k 0 0:00:57 0:00:27 0:00:30 $'5756k\r' 49 294M 49 146M 0 0 5261k 0 0:00:57 0:00:28 0:00:29 $'5858k\r' 51 294M 51 151M 0 0 5273k 0 0:00:57 0:00:29 0:00:28 $'5877k\r' 53 294M 53 156M 0 0 5288k 0 0:00:57 0:00:30 0:00:27 $'5848k\r' 55 294M 55 163M 0 0 5307k 0 0:00:56 0:00:31 0:00:25 $'5816k\r' 57 294M 57 168M 0 0 5319k 0 0:00:56 0:00:32 0:00:24 $'5778k\r' 59 294M 59 174M 0 0 5343k 0 0:00:56 0:00:33 0:00:23 $'5809k\r' 61 294M 61 180M 0 0 5350k 0 0:00:56 0:00:34 0:00:22 $'5805k\r' 62 294M 62 185M 0 0 5354k 0 0:00:56 0:00:35 0:00:21 $'5753k\r' 64 294M 64 190M 0 0 5353k 0 0:00:56 0:00:36 0:00:20 $'5646k\r' 66 294M 66 195M 0 0 5353k 0 0:00:56 0:00:37 0:00:19 $'5575k\r' 68 294M 68 201M 0 0 5352k 0 0:00:56 0:00:38 0:00:18 $'5411k\r' 70 294M 70 206M 0 0 5360k 0 0:00:56 0:00:39 0:00:17 $'5431k\r' 71 294M 71 211M 0 0 5368k 0 0:00:56 0:00:40 0:00:16 $'5470k\r' 73 294M 73 216M 0 0 5372k 0 0:00:56 0:00:41 0:00:15 $'5513k\r' 75 294M 75 223M 0 0 5375k 0 0:00:56 0:00:42 0:00:14 $'5533k\r' 77 294M 77 228M 0 0 5378k 0 0:00:56 0:00:43 0:00:13 $'5579k\r' 79 294M 79 233M 0 0 5379k 0 0:00:56 0:00:44 0:00:12 $'5523k\r' 81 294M 81 239M 0 0 5382k 0 0:00:56 0:00:45 0:00:11 $'5486k\r' 82 294M 82 244M 0 0 5379k 0 0:00:56 0:00:46 0:00:10 $'5437k\r' 84 294M 84 249M 0 0 5379k 0 0:00:56 0:00:47 0:00:09 $'5419k\r' 86 294M 86 254M 0 0 5386k 0 0:00:56 0:00:48 0:00:08 $'5458k\r' 88 294M 88 260M 0 0 5391k 0 0:00:55 0:00:49 0:00:06 $'5504k\r' 90 294M 90 266M 0 0 5400k 0 0:00:55 0:00:50 0:00:05 $'5569k\r' 92 294M 92 271M 0 0 5411k 0 0:00:55 0:00:51 0:00:04 $'5710k\r' 94 294M 94 277M 0 0 5422k 0 0:00:55 0:00:52 0:00:03 $'5830k\r' 96 294M 96 283M 0 0 5428k 0 0:00:55 0:00:53 0:00:02 $'5829k\r' 98 294M 98 289M 0 0 5438k 0 0:00:55 0:00:54 0:00:01 $'5883k\r' 99 294M 99 294M 0 0 5443k 0 0:00:55 0:00:55 --:--:-- $'5878k\r100' 294M 100 294M 0 0 5443k 0 0:00:55 0:00:55 --:--:-- 5846k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-l+ grep 'no binary' +inux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 0222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 0222 ']' ++ '[' '!' -d 0222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for +host linux/riscv64' ++ retc=2 +++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check toolchain/llvm-upstream no binary for current host' ++ message='Check toolchain/llvm-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check toolchain/llvm-upstream no binary for current host' +Wed Apr 10 08:17:35 2024 - WARN - Check toolchain/llvm-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 224M 1 3835k 0 0 1503k 0 0:02:32 0:00:02 0:02:30 1514k 4 224M 4 9883k 0 0 2669k 0 0:01:26 0:00:03 0:01:23 2682k 6 224M 6 14.9M 0 0 3288k 0 0:01:09 0:00:04 0:01:05 3301k 8 224M 8 20.1M 0 0 3703k 0 0:01:02 0:00:05 0:00:57 4984k 11 224M 11 25.4M 0 0 3965k 0 0:00:57 0:00:06 0:00:51 5248k 14 224M 14 31.7M 0 0 4247k 0 0:00:54 0:00:07 0:00:47 5619k 16 224M 16 37.0M 0 0 4406k 0 0:00:52 0:00:08 0:00:44 5717k 19 224M 19 43.3M 0 0 4584k 0 0:00:50 0:00:09 0:00:41 5780k 21 224M 21 48.5M 0 0 4703k 0 0:00:48 0:00:10 0:00:38 5818k 24 224M 24 54.8M 0 0 4811k 0 0:00:47 0:00:11 0:00:36 5898k 26 224M 26 60.1M 0 0 4849k 0 0:00:47 0:00:12 0:00:35 5762k 29 224M 29 65.4M 0 0 4910k 0 0:00:46 0:00:13 0:00:33 5771k 31 224M 31 71.7M 0 0 4990k 0 0:00:46 0:00:14 0:00:32 5770k 34 224M 34 76.9M 0 0 5050k 0 0:00:45 0:00:15 0:00:30 5780k 37 224M 37 83.2M 0 0 5114k 0 0:00:44 0:00:16 0:00:28 5821k 39 224M 39 88.5M 0 0 5160k 0 0:00:44 0:00:17 0:00:27 5970k 42 224M 42 94.8M 0 0 5196k 0 0:00:44 0:00:18 0:00:26 5969k 44 224M 44 100M 0 0 5231k 0 0:00:43 0:00:19 0:00:24 5960k 46 224M 46 105M 0 0 5247k 0 0:00:43 0:00:20 0:00:23 5868k 49 224M 49 111M 0 0 5267k 0 0:00:43 0:00:21 0:00:22 5777k 52 224M 52 116M 0 0 5300k 0 0:00:43 0:00:22 0:00:21 5792k 54 224M 54 123M 0 0 5337k 0 0:00:43 0:00:23 0:00:20 5870k 57 224M 57 128M 0 0 5360k 0 0:00:42 0:00:24 0:00:18 5866k 60 224M 60 134M 0 0 5389k 0 0:00:42 0:00:25 0:00:17 5967k 62 224M 62 140M 0 0 5402k 0 0:00:42 0:00:26 0:00:16 6007k 65 224M 65 146M 0 0 5416k 0 0:00:42 0:00:27 0:00:15 5933k 67 224M 67 151M 0 0 5418k 0 0:00:42 0:00:28 0:00:14 5797k 69 224M 69 156M 0 0 5422k 0 0:00:42 0:00:29 0:00:13 5723k 72 224M 72 162M 0 0 5428k 0 0:00:42 0:00:30 0:00:12 5628k 75 224M 75 168M 0 0 5444k 0 0:00:42 0:00:31 0:00:11 5659k 77 224M 77 173M 0 0 5458k 0 0:00:42 0:00:32 0:00:10 5694k 80 224M 80 180M 0 0 5471k 0 0:00:41 0:00:33 0:00:08 5774k 82 224M 82 185M 0 0 5465k 0 0:00:42 0:00:34 0:00:08 5716k 84 224M 84 190M 0 0 5479k 0 0:00:41 0:00:35 0:00:06 5790k 87 224M 87 196M 0 0 5495k 0 0:00:41 0:00:36 0:00:05 5817k 90 224M 90 202M 0 0 5506k 0 0:00:41 0:00:37 0:00:04 5819k 92 224M 92 207M 0 0 5508k 0 0:00:41 0:00:38 0:00:03 5768k 95 224M 95 213M 0 0 5517k 0 0:00:41 0:00:39 0:00:02 5885k 97 224M 97 219M 0 0 5520k 0 0:00:41 0:00:40 0:00:01 5811k 99 224M 99 224M 0 0 5524k 0 0:00:41 0:00:41 --:--:-- 5749k 100 224M 100 224M 0 0 5524k 0 0:00:41 0:00:41 --:--:-- 5693k +info: extracting +RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g +nu.tar.xz for package gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 1 224M 1 3835k 0 0 1503k 0 0:02:32 0:00:02 0:02:30 $'1514k\r' 4 224M 4 9883k 0 0 2669k 0 0:01:26 0:00:03 0:01:23 $'2682k\r' 6 224M 6 14.9M 0 0 3288k 0 0:01:09 0:00:04 0:01:05 $'3301k\r' 8 224M 8 20.1M 0 0 3703k 0 0:01:02 0:00:05 0:00:57 $'4984k\r' 11 224M 11 25.4M 0 0 3965k 0 0:00:57 0:00:06 0:00:51 $'5248k\r' 14 224M 14 31.7M 0 0 4247k 0 0:00:54 0:00:07 0:00:47 $'5619k\r' 16 224M 16 37.0M 0 0 4406k 0 0:00:52 0:00:08 0:00:44 $'5717k\r' 19 224M 19 43.3M 0 0 4584k 0 0:00:50 0:00:09 0:00:41 $'5780k\r' 21 224M 21 48.5M 0 0 4703k 0 0:00:48 0:00:10 0:00:38 $'5818k\r' 24 224M 24 54.8M 0 0 4811k 0 0:00:47 0:00:11 0:00:36 $'5898k\r' 26 224M 26 60.1M 0 0 4849k 0 0:00:47 0:00:12 0:00:35 $'5762k\r' 29 224M 29 65.4M 0 0 4910k 0 0:00:46 0:00:13 0:00:33 $'5771k\r' 31 224M 31 71.7M 0 0 4990k 0 0:00:46 0:00:14 0:00:32 $'5770k\r' 34 224M 34 76.9M 0 0 5050k 0 0:00:45 0:00:15 0:00:30 $'5780k\r' 37 224M 37 83.2M 0 0 5114k 0 0:00:44 0:00:16 0:00:28 $'5821k\r' 39 224M 39 88.5M 0 0 5160k 0 0:00:44 0:00:17 0:00:27 $'5970k\r' 42 224M 42 94.8M 0 0 5196k 0 0:00:44 0:00:18 0:00:26 $'5969k\r' 44 224M 44 100M 0 0 5231k 0 0:00:43 0:00:19 0:00:24 $'5960k\r' 46 224M 46 105M 0 0 5247k 0 0:00:43 0:00:20 0:00:23 $'5868k\r' 49 224M 49 111M 0 0 5267k 0 0:00:43 0:00:21 0:00:22 $'5777k\r' 52 224M 52 116M 0 0 5300k 0 0:00:43 0:00:22 0:00:21 $'5792k\r' 54 224M 54 123M 0 0 5337k 0 0:00:43 0:00:23 0:00:20 $'5870k\r' 57 224M 57 128M 0 0 5360k 0 0:00:42 0:00:24 0:00:18 $'5866k\r' 60 224M 60 134M 0 0 5389k 0 0:00:42 0:00:25 0:00:17 $'5967k\r' 62 224M 62 140M 0 0 5402k 0 0:00:42 0:00:26 0:00:16 $'6007k\r' 65 224M 65 146M 0 0 5416k 0 0:00:42 0:00:27 0:00:15 $'5933k\r' 67 224M 67 151M 0 0 5418k 0 0:00:42 0:00:28 0:00:14 $'5797k\r' 69 224M 69 156M 0 0 5422k 0 0:00:42 0:00:29 0:00:13 $'5723k\r' 72 224M 72 162M 0 0 5428k 0 0:00:42 0:00:30 0:00:12 $'5628k\r' 75 224M 75 168M 0 0 5444k 0 0:00:42 0:00:31 0:00:11 $'5659k\r' 77 224M 77 173M 0 0 5458k 0 0:00:42 0:00:32 0:00:10 $'5694k\r' 80 224M 80 180M 0 0 5471k 0 0:00:41 0:00:33 0:00:08 $'5774k\r' 82 224M 82 185M 0 0 5465k 0 0:00:42 0:00:34 0:00:08 $'5716k\r' 84 224M 84 190M 0 0 5479k 0 0:00:41 0:00:35 0:00:06 $'5790k\r' 87 224M 87 196M 0 0 5495k 0 0:00:41 0:00:36 0:00:05 $'5817k\r' 90 224M 90 202M 0 0 5506k 0 0:00:41 0:00:37 0:00:04 $'5819k\r' 92 224M 92 207M 0 0 5508k 0 0:00:41 0:00:38 0:00:03 $'5768k\r' 95 224M 95 213M 0 0 5517k 0 0:00:41 0:00:39 0:00:02 $'5885k\r' 97 224M 97 219M 0 0 5520k 0 0:00:41 0:00:40 0:00:01 $'5811k\r' 99 224M 99 224M 0 0 5524k 0 0:00:41 0:00:41 --:--:-- $'5749k\r100' 224M 100 224M 0 0 5524k 0 0:00:41 0:00:41 --:--:-- 5693k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 1 224M 1 3835k 0 0 1503k 0 0:02:32 0:00:02 0:02:30 $'1514k\r' 4 224M 4 9883k 0 0 2669k 0 0:01:26 0:00:03 0:01:23 $'2682k\r' 6 224M 6 14.9M 0 0 3288k 0 0:01:09 0:00:04 0:01:05 $'3301k\r' 8 224M 8 20.1M 0 0 3703k 0 0:01:02 0:00:05 0:00:57 $'4984k\r' 11 224M 11 25.4M 0 0 3965k 0 0:00:57 0:00:06 0:00:51 $'5248k\r' 14 224M 14 31.7M 0 0 4247k 0 0:00:54 0:00:07 0:00:47 $'5619k\r' 16 224M 16 37.0M 0 0 4406k 0 0:00:52 0:00:08 0:00:44 $'5717k\r' 19 224M 19 43.3M 0 0 4584k 0 0:00:50 0:00:09 0:00:41 $'5780k\r' 21 224M 21 48.5M 0 0 4703k 0 0:00:48 0:00:10 0:00:38 $'5818k\r' 24 224M 24 54.8M 0 0 4811k 0 0:00:47 0:00:11 0:00:36 $'5898k\r' 26 224M 26 60.1M 0 0 4849k 0 0:00:47 0:00:12 0:00:35 $'5762k\r' 29 224M 29 65.4M 0 0 4910k 0 0:00:46 0:00:13 0:00:33 $'5771k\r' 31 224M 31 71.7M 0 0 4990k 0 0:00:46 0:00:14 0:00:32 $'5770k\r' 34 224M 34 76.9M 0 0 5050k 0 0:00:45 0:00:15 0:00:30 $'5780k\r' 37 224M 37 83.2M 0 0 5114k 0 0:00:44 0:00:16 0:00:28 $'5821k\r' 39 224M 39 88.5M 0 0 5160k 0 0:00:44 0:00:17 0:00:27 $'5970k\r' 42 224M 42 94.8M 0 0 5196k 0 0:00:44 0:00:18 0:00:26 $'5969k\r' 44 224M 44 100M 0 0 5231k 0 0:00:43 0:00:19 0:00:24 $'5960k\r' 46 224M 46 105M 0 0 5247k 0 0:00:43 0:00:20 0:00:23 $'5868k\r' 49 224M 49 111M 0 0 5267k 0 0:00:43 0:00:21 0:00:22 $'5777k\r' 52 224M 52 116M 0 0 5300k 0 0:00:43 0:00:22 0:00:21 $'5792k\r' 54 224M 54 123M 0 0 5337k 0 0:00:43 0:00:23 0:00:20 $'5870k\r' 57 224M 57 128M 0 0 5360k 0 0:00:42 0:00:24 0:00:18 $'5866k\r' 60 224M 60 134M 0 0 5389k 0 0:00:42 0:00:25 0:00:17 $'5967k\r' 62 224M 62 140M 0 0 5402k 0 0:00:42 0:00:26 0:00:16 $'6007k\r' 65 224M 65 146M 0 0 5416k 0 0:00:42 0:00:27 0:00:15 $'5933k\r' 67 224M 67 151M 0 0 5418k 0 0:00:42 0:00:28 0:00:14 $'5797k\r' 69 224M 69 156M 0 0 5422k 0 0:00:42 0:00:29 0:00:13 $'5723k\r' 72 224M 72 162M 0 0 5428k 0 0:00:42 0:00:30 0:00:12 $'5628k\r' 75 224M 75 168M 0 0 5444k 0 0:00:42 0:00:31 0:00:11 $'5659k\r' 77 224M 77 173M 0 0 5458k 0 0:00:42 0:00:32 0:00:10 $'5694k\r' 80 224M 80 180M 0 0 5471k 0 0:00:41 0:00:33 0:00:08 $'5774k\r' 82 224M 82 185M 0 0 5465k 0 0:00:42 0:00:34 0:00:08 $'5716k\r' 84 224M 84 190M 0 0 5479k 0 0:00:41 0:00:35 0:00:06 $'5790k\r' 87 224M 87 196M 0 0 5495k 0 0:00:41 0:00:36 0:00:05 $'5817k\r' 90 224M 90 202M 0 0 5506k 0 0:00:41 0:00:37 0:00:04 $'5819k\r' 92 224M 92 207M 0 0 5508k 0 0:00:41 0:00:38 0:00:03 $'5768k\r' 95 224M 95 213M 0 0 5517k 0 0:00:41 0:00:39 0:00:02 $'5885k\r' 97 224M 97 219M 0 0 5520k 0 0:00:41 0:00:40 0:00:01 $'5811k\r' 99 224M 99 224M 0 0 5524k 0 0:00:41 0:00:41 --:--:-- $'5749k\r100' 224M 100 224M 0 0 5524k 0 0:00:41 0:00:41 --:--:-- 5693k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=391434e33f87e32c04a833f394a7dbd3f14b3a78, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00ffffff86bea000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff86b0f000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff86999000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff86bec000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=28a2c4a90363f219abb83defddd63445538a834a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00ffffff9c36a000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff9c28a000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff9c114000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff9c36c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f41def98c13042b5220dad5162dd2eb3a811495f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00ffffff8fb64000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff8fa06000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8f890000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8fb66000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00ffffff92147000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff91fbb000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff92149000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=da3be3303d0f9d7d4c4948c9bd15e68b8aa83eec, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00ffffffa2ee6000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffa2e04000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa2c8e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa2ee8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fcaca58ee7a1a2f07553792b7e3b57bdf68f25c0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00ffffffafdef000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffafc63000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffafdf1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=13778aa42f3926d92929c41875a156b2637e0842, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00ffffffae871000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffae6dd000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffae873000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00ffffff8894d000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff887c1000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8894f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00ffffff8426d000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff840e1000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8426f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00ffffffa2eb2000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa2d26000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa2eb4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a7869523b7b5bd15977ae296d89a01b9337b18e0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00ffffff992ce000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff99142000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff992d0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fec6ba7e67e2b796cae6d18583d7103b5e4133c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00ffffffa3ce7000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa3b5b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa3ce9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep executable ++ grep ELF ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=1c82bbc49fab6681629a1431aeec1d04855c1c32, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00ffffff8b92a000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8b79e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8b92c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=050cdeeca3270025456bab5f997e0154c509e55c, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00ffffffa6eb6000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa6d2a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa6eb8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=ebcbdf88347e6618560497de6c5a942c1dac963f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00ffffff8a33e000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8a1b2000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8a340000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4fe76729a51d1ad5073097f0395d56e932e40a9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00ffffff901f4000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff90068000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff901f6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=39d430c7c91236a80aeb0ff8d30ec49323919843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x00ffffffa96a1000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffa8de9000) + libstdc++.so.6 => /lib64/lp64d/libstdc++.so.6 (0x00ffffffa8a00000) + libm.so.6 => /lib64/lp64d/libm.so.6 (0x00ffffffa8d68000) + libgcc_s.so.1 => /lib64/lp64d/libgcc_s.so.1 (0x00ffffffa8d4c000) + libpthread.so.0 => /lib64/lp64d/libpthread.so.0 (0x00ffffffa8d47000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa888a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa96a3000) + libatomic.so.1 => /lib64/lp64d/libatomic.so.1 (0x00ffffffa8d3e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8df03d0ff29ad796d26bec7b5be6bbe057b8eed5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00ffffff8b70a000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8b57e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8b70c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3dacd56f955811af35ee820e706bd4491c1ccedd, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00ffffff960da000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff95ff0000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff95e7a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff960dc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep executable ++ grep dynamic ++ grep ELF +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00ffffffaa650000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffaa635000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffaa4bf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffaa652000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00ffffffbc4c4000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffbc4bb000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffbc078000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffbc4c6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=de67ace22e5e47dd1fa24f77a4ce762996e536d5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00ffffffa3126000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffa310b000) + libm.so.6 => /lib64/lp64d/libm.so.6 (0x00ffffffa308a000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa2f14000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa3128000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7b35f1643c3a8b49d13754b0bee237506d2945aa, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00ffffff8185e000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff81780000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8160a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff81860000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=05cf9dc88c199de15f4f7443b0d8f8b75ce6f742, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00ffffffadd77000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffadc83000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffadb0d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffadd79000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d67dba7ef971b967f32d1dab248cacfd3305e0e8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00ffffffa28a2000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffffa2715000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffffa259f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffffa28a4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8eddc0bb144eb9a0441696bcfeb2a264efa3ea6d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00ffffff8bb05000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff8ba25000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff8b8af000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff8bb07000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ grep 'not found' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a1bc95c06a4a904e4dff4887941078f71194df83, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00ffffff93110000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff92eaf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff93112000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5b08a6a2463fedb3c900720761d30059db644989, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00ffffff97923000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff97848000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff976d2000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff97925000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7543658774ce7d14c706fda90f27ce8c165d642a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00ffffff98b1c000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff98a40000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff988ca000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff98b1e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=136a562434f432d72472cb146736f6423df33d99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00ffffff9dc1e000) + libdl.so.2 => /lib64/lp64d/libdl.so.2 (0x00ffffff9db2a000) + libc.so.6 => /lib64/lp64d/libc.so.6 (0x00ffffff9d9b4000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00ffffff9dc20000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-system-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-system-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-system-riscv-upstream no binary for current host' +Wed Apr 10 08:25:09 2024 - WARN - Check emulator/qemu-system-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +declares no binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-xthead no binary for current host' ++ message='Check emulator/qemu-user-riscv-xthead no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-xthead no binary for current host' +Wed Apr 10 08:25:35 2024 - WARN - Check emulator/qemu-user-riscv-xthead no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-user-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-upstream no binary for current host' +Wed Apr 10 08:26:01 2024 - WARN - Check emulator/qemu-user-riscv-upstream no binary for current host ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 08:26:02 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 08:26:04 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 08:26:06 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 08:26:08 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 08:26:44 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-09_23_53.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-09_23_53.log new file mode 100644 index 00000000..79505605 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-09_23_53.log @@ -0,0 +1,598 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 09:23:57 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:24:33 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:24:40 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:24:46 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 5 20.8M 5 1108k 0 0 612k 0 0:00:34 0:00:01 0:00:33 617k 30 20.8M 30 6500k 0 0 2357k 0 0:00:09 0:00:02 0:00:07 2369k 55 20.8M 55 11.6M 0 0 3170k 0 0:00:06 0:00:03 0:00:03 3183k 80 20.8M 80 16.8M 0 0 3666k 0 0:00:05 0:00:04 0:00:01 3678k 100 20.8M 100 20.8M 0 0 3916k 0 0:00:05 0:00:05 --:--:-- 5067k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' +Wed Apr 10 09:25:30 2024 - INFO - pkgs:(cmake ninja-build) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' +Wed Apr 10 09:25:36 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile '' +Wed Apr 10 09:25:43 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 09:25:45 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 09:25:46 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting +objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 294M 0 1949k 0 0 1087k 0 0:04:37 0:00:01 0:04:36 1097k 2 294M 2 8413k 0 0 2936k 0 0:01:42 0:00:02 0:01:40 2953k 4 294M 4 13.4M 0 0 3639k 0 0:01:22 0:00:03 0:01:19 3655k 6 294M 6 18.7M 0 0 4004k 0 0:01:15 0:00:04 0:01:11 4018k 8 294M 8 23.9M 0 0 4229k 0 0:01:11 0:00:05 0:01:06 5292k 9 294M 9 29.2M 0 0 4421k 0 0:01:08 0:00:06 0:01:02 5621k 11 294M 11 34.5M 0 0 4563k 0 0:01:06 0:00:07 0:00:59 5519k 13 294M 13 40.6M 0 0 4682k 0 0:01:04 0:00:08 0:00:56 5457k 15 294M 15 45.8M 0 0 4759k 0 0:01:03 0:00:09 0:00:54 5471k 17 294M 17 51.1M 0 0 4858k 0 0:01:02 0:00:10 0:00:52 5593k 18 294M 18 55.7M 0 0 4877k 0 0:01:01 0:00:11 0:00:50 5503k 20 294M 20 60.6M 0 0 4882k 0 0:01:01 0:00:12 0:00:49 5377k 22 294M 22 65.9M 0 0 4906k 0 0:01:01 0:00:13 0:00:48 5313k 24 294M 24 72.2M 0 0 4980k 0 0:01:00 0:00:14 0:00:46 5416k 26 294M 26 77.4M 0 0 5053k 0 0:00:59 0:00:15 0:00:44 5479k 28 294M 28 83.8M 0 0 5108k 0 0:00:59 0:00:16 0:00:43 5637k 30 294M 30 89.0M 0 0 5148k 0 0:00:58 0:00:17 0:00:41 5824k 32 294M 32 95.3M 0 0 5195k 0 0:00:58 0:00:18 0:00:40 5988k 34 294M 34 100M 0 0 5225k 0 0:00:57 0:00:19 0:00:38 5971k 36 294M 36 106M 0 0 5271k 0 0:00:57 0:00:20 0:00:37 5946k 38 294M 38 112M 0 0 5294k 0 0:00:57 0:00:21 0:00:36 5933k 40 294M 40 118M 0 0 5321k 0 0:00:56 0:00:22 0:00:34 5924k 41 294M 41 123M 0 0 5334k 0 0:00:56 0:00:23 0:00:33 5856k 44 294M 44 130M 0 0 5361k 0 0:00:56 0:00:24 0:00:32 5886k 45 294M 45 135M 0 0 5380k 0 0:00:56 0:00:25 0:00:31 5835k 48 294M 48 141M 0 0 5402k 0 0:00:55 0:00:26 0:00:29 5859k 49 294M 49 146M 0 0 5422k 0 0:00:55 0:00:27 0:00:28 5887k 51 294M 51 153M 0 0 5440k 0 0:00:55 0:00:28 0:00:27 5940k 53 294M 53 158M 0 0 5458k 0 0:00:55 0:00:29 0:00:26 5950k 55 294M 55 164M 0 0 5469k 0 0:00:55 0:00:30 0:00:25 5920k 57 294M 57 170M 0 0 5484k 0 0:00:55 0:00:31 0:00:24 5932k 59 294M 59 175M 0 0 5489k 0 0:00:54 0:00:32 0:00:22 5868k 60 294M 60 179M 0 0 5460k 0 0:00:55 0:00:33 0:00:22 5580k 62 294M 62 183M 0 0 5425k 0 0:00:55 0:00:34 0:00:21 5230k 64 294M 64 188M 0 0 5414k 0 0:00:55 0:00:35 0:00:20 5065k 65 294M 65 194M 0 0 5416k 0 0:00:55 0:00:36 0:00:19 4978k 68 294M 68 200M 0 0 5423k 0 0:00:55 0:00:37 0:00:18 5005k 69 294M 69 205M 0 0 5440k 0 0:00:55 0:00:38 0:00:17 5301k 71 294M 71 212M 0 0 5455k 0 0:00:55 0:00:39 0:00:16 5655k 73 294M 73 217M 0 0 5467k 0 0:00:55 0:00:40 0:00:15 5845k 75 294M 75 223M 0 0 5481k 0 0:00:55 0:00:41 0:00:14 5951k 78 294M 78 229M 0 0 5496k 0 0:00:54 0:00:42 0:00:12 6051k 79 294M 79 235M 0 0 5510k 0 0:00:54 0:00:43 0:00:11 6057k 81 294M 81 241M 0 0 5526k 0 0:00:54 0:00:44 0:00:10 6096k 84 294M 84 247M 0 0 5541k 0 0:00:54 0:00:45 0:00:09 6134k 86 294M 86 254M 0 0 5554k 0 0:00:54 0:00:46 0:00:08 6159k 88 294M 88 259M 0 0 5565k 0 0:00:54 0:00:47 0:00:07 6169k 90 294M 90 265M 0 0 5581k 0 0:00:54 0:00:48 0:00:06 6202k 91 294M 91 270M 0 0 5563k 0 0:00:54 0:00:49 0:00:05 5900k 92 294M 92 274M 0 0 5535k 0 0:00:54 0:00:50 0:00:04 5484k 94 294M 94 279M 0 0 5528k 0 0:00:54 0:00:51 0:00:03 5279k 96 294M 96 285M 0 0 5521k 0 0:00:54 0:00:52 0:00:02 5113k 98 294M 98 289M 0 0 5517k 0 0:00:54 0:00:53 0:00:01 4887k 100 294M 100 294M 0 0 5530k 0 0:00:54 0:00:54 --:--:-- 5192k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 231M 1 4509k 0 0 1831k 0 0:02:09 0:00:02 0:02:07 1841k 4 231M 4 10.7M 0 0 3143k 0 0:01:15 0:00:03 0:01:12 3155k 7 231M 7 17.0M 0 0 3866k 0 0:01:01 0:00:04 0:00:57 3878k 10 231M 10 23.3M 0 0 4284k 0 0:00:55 0:00:05 0:00:50 5684k 12 231M 12 28.6M 0 0 4520k 0 0:00:52 0:00:06 0:00:46 5923k 15 231M 15 34.9M 0 0 4732k 0 0:00:50 0:00:07 0:00:43 6135k 17 231M 17 40.1M 0 0 4815k 0 0:00:49 0:00:08 0:00:41 5969k 19 231M 19 45.4M 0 0 4890k 0 0:00:48 0:00:09 0:00:39 5814k 21 231M 21 50.7M 0 0 4932k 0 0:00:48 0:00:10 0:00:38 5663k 24 231M 24 55.9M 0 0 5009k 0 0:00:47 0:00:11 0:00:36 5648k 26 231M 26 62.2M 0 0 5068k 0 0:00:46 0:00:12 0:00:34 5576k 29 231M 29 67.5M 0 0 5085k 0 0:00:46 0:00:13 0:00:33 5544k 31 231M 31 72.7M 0 0 5134k 0 0:00:46 0:00:14 0:00:32 5597k 33 231M 33 78.0M 0 0 5177k 0 0:00:45 0:00:15 0:00:30 5701k 36 231M 36 84.3M 0 0 5215k 0 0:00:45 0:00:16 0:00:29 5675k 38 231M 38 89.6M 0 0 5243k 0 0:00:45 0:00:17 0:00:28 5688k 41 231M 41 94.8M 0 0 5257k 0 0:00:45 0:00:18 0:00:27 5733k 43 231M 43 101M 0 0 5293k 0 0:00:44 0:00:19 0:00:25 5753k 46 231M 46 106M 0 0 5325k 0 0:00:44 0:00:20 0:00:24 5778k 48 231M 48 112M 0 0 5352k 0 0:00:44 0:00:21 0:00:23 5805k 51 231M 51 118M 0 0 5372k 0 0:00:44 0:00:22 0:00:22 5822k 53 231M 53 124M 0 0 5398k 0 0:00:43 0:00:23 0:00:20 5910k 56 231M 56 129M 0 0 5411k 0 0:00:43 0:00:24 0:00:19 5877k 58 231M 58 134M 0 0 5417k 0 0:00:43 0:00:25 0:00:18 5796k 60 231M 60 139M 0 0 5421k 0 0:00:43 0:00:26 0:00:17 5725k 62 231M 62 145M 0 0 5396k 0 0:00:43 0:00:27 0:00:16 5506k 65 231M 65 150M 0 0 5389k 0 0:00:43 0:00:28 0:00:15 5350k 67 231M 67 155M 0 0 5396k 0 0:00:43 0:00:29 0:00:14 5320k 69 231M 69 161M 0 0 5413k 0 0:00:43 0:00:30 0:00:13 5390k 72 231M 72 167M 0 0 5436k 0 0:00:43 0:00:31 0:00:12 5515k 74 231M 74 172M 0 0 5450k 0 0:00:43 0:00:32 0:00:11 5755k 77 231M 77 179M 0 0 5463k 0 0:00:43 0:00:33 0:00:10 5885k 79 231M 79 184M 0 0 5477k 0 0:00:43 0:00:34 0:00:09 5971k 82 231M 82 190M 0 0 5493k 0 0:00:43 0:00:35 0:00:08 5976k 84 231M 84 195M 0 0 5504k 0 0:00:43 0:00:36 0:00:07 5947k 84 231M 84 195M 0 0 2451k 0 0:01:36 0:01:21 0:00:15 480k 86 231M 86 200M 0 0 2481k 0 0:01:35 0:01:22 0:00:13 439k 88 231M 88 205M 0 0 2518k 0 0:01:34 0:01:23 0:00:11 439k 91 231M 91 210M 0 0 2551k 0 0:01:32 0:01:24 0:00:08 417k 92 231M 92 214M 0 0 2569k 0 0:01:32 0:01:25 0:00:07 387k 94 231M 94 218M 0 0 2590k 0 0:01:31 0:01:26 0:00:05 4999k 96 231M 96 224M 0 0 2620k 0 0:01:30 0:01:27 0:00:03 4900k 98 231M 98 228M 0 0 2644k 0 0:01:29 0:01:28 0:00:01 4772k 100 231M 100 231M 0 0 2662k 0 0:01:28 0:01:28 --:--:-- 4769k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 391k 100 391k 0 0 213k 0 0:00:01 0:00:01 --:--:-- 215k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=9c635b0506f42e64cf04372c637dc42e18d599e8, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.26.4 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done (1019.6s) +-- Generating done (0.6s) +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[2/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[3/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[6/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[21/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[22/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[25/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[28/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[32/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[33/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[35/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[40/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[41/93] Linking C shared library libz.so.1.3.0.zlib-ng +[42/93] Creating library symlink libz.so.1 libz.so +[43/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[63/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[74/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[75/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[76/93] Building C object test/CMakeFiles/example.dir/example.c.o +[77/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[78/93] Linking C executable switchlevels +[79/93] Linking C executable minideflate +[80/93] Linking C static library libz.a +[81/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[82/93] Linking C executable example +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[85/93] Linking C executable minigzip +[86/93] Linking C executable infcover +[87/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[88/93] Linking C executable makefixed +[89/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[90/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[91/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[92/93] Linking C executable maketrees +[93/93] Linking C executable makecrct ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 10:11:09 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 10:11:10 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 10:11:12 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 10:11:13 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 10:11:41 2024 - WARN - no thing to do. ++ return 0 ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 10:11:43 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-08_40_19.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-08_40_19.log new file mode 100644 index 00000000..b58b61e7 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-08_40_19.log @@ -0,0 +1,906 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 08:40:23 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:41:02 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:41:09 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:41:16 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 19 20.8M 19 4181k 0 0 1601k 0 0:00:13 0:00:02 0:00:11 1615k 44 20.8M 44 9573k 0 0 2705k 0 0:00:07 0:00:03 0:00:04 2722k 75 20.8M 75 15.6M 0 0 3454k 0 0:00:06 0:00:04 0:00:02 3470k 100 20.8M 100 20.8M 0 0 3840k 0 0:00:05 0:00:05 --:--:-- 3855k 100 20.8M 100 20.8M 0 0 3835k 0 0:00:05 0:00:05 --:--:-- 5213k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 08:41:33 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 08:41:34 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% +(166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ grep 'Package declares' ++ ruyi list ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-rv64ilp32-elf +gnu-plct +gnu-plct-xthead +llvm-upstream +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-rv64ilp32-elf/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240223.0-ruyi.20240224 (latest)' ++ '[' '!' -z ' - 0.20240223.0-ruyi.20240224 (latest)' ']' ++ pkgname=gnu-plct-rv64ilp32-elf ++ break ++ '[' -z gnu-plct-rv64ilp32-elf ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c +718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz': all source URLs have +failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c +718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz': all source URLs have +failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17 +125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 671 100 671 0 0 440 0 0:00:01 0:00:01 --:--:-- 444 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:52:05 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:52:11 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:52:18 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 14 20.8M 14 3196k 0 0 1371k 0 0:00:15 0:00:02 0:00:13 1381k 40 20.8M 40 8636k 0 0 2581k 0 0:00:08 0:00:03 0:00:05 2595k 65 20.8M 65 13.7M 0 0 3227k 0 0:00:06 0:00:04 0:00:02 3241k 95 20.8M 95 20.0M 0 0 3751k 0 0:00:05 0:00:05 --:--:-- 3764k 100 20.8M 100 20.8M 0 0 3805k 0 0:00:05 0:00:05 --:--:-- 4981k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 08:52:59 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 08:53:01 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 08:53:02 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 08:53:04 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 08:53:13 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-07_29_39.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-07_29_39.log new file mode 100644 index 00000000..cf6b0de1 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-07_29_39.log @@ -0,0 +1,247 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:29:43 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:30:18 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:30:25 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:30:32 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 4 20.8M 4 1067k 0 0 490k 0 0:00:43 0:00:02 0:00:41 493k 17 20.8M 17 3803k 0 0 1197k 0 0:00:17 0:00:03 0:00:14 1203k 31 20.8M 31 6779k 0 0 1623k 0 0:00:13 0:00:04 0:00:09 1629k 44 20.8M 44 9611k 0 0 1856k 0 0:00:11 0:00:05 0:00:06 1926k 53 20.8M 53 11.1M 0 0 1840k 0 0:00:11 0:00:06 0:00:05 2401k 62 20.8M 62 13.0M 0 0 1858k 0 0:00:11 0:00:07 0:00:04 2454k 71 20.8M 71 14.9M 0 0 1872k 0 0:00:11 0:00:08 0:00:03 2301k 81 20.8M 81 17.0M 0 0 1902k 0 0:00:11 0:00:09 0:00:02 2136k 91 20.8M 91 19.1M 0 0 1928k 0 0:00:11 0:00:10 0:00:01 2001k 100 20.8M 100 20.8M 0 0 1940k 0 0:00:11 0:00:11 --:--:-- 2068k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:30:54 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:30:56 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:32:28 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:32:30 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:32:32 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 07:32:33 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:32:45 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-08_53_21.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-08_53_21.log new file mode 100644 index 00000000..b40c1cb3 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-08_53_21.log @@ -0,0 +1,2794 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 08:53:26 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:54:04 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:54:11 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:54:17 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 20.8M 1 297k 0 0 165k 0 0:02:09 0:00:01 0:02:08 167k 27 20.8M 27 5961k 0 0 2037k 0 0:00:10 0:00:02 0:00:08 2050k 53 20.8M 53 11.0M 0 0 2873k 0 0:00:07 0:00:03 0:00:04 2886k 78 20.8M 78 16.3M 0 0 3400k 0 0:00:06 0:00:04 0:00:02 3413k 100 20.8M 100 20.8M 0 0 3730k 0 0:00:05 0:00:05 --:--:-- 4860k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 08:54:33 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 08:54:35 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 8400 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 1541k 6933k 13.0M 18.3M 23.5M 29.9M 35.1M 41.4M 46.5M 51.0M 56.8M 62.1M 67.3M 73.7M 78.9M 85.2M 90.5M 95.8M 102M 107M 113M 118M 125M 130M 136M 142M 148M 154M 159M 166M 171M 177M 183M 189M 195M ' +++ echo Received Spent 0 0 1541k 6933k 13.0M 18.3M 23.5M 29.9M 35.1M 41.4M 46.5M 51.0M 56.8M 62.1M 67.3M 73.7M 78.9M 85.2M 90.5M 95.8M 102M 107M 113M 118M 125M 130M 136M 142M 148M 154M 159M 166M 171M 177M 183M 189M 195M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 1541k =~ [0-9]+ ]] ++ [[ 1541k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 8398 Done nohup echo -e "$now_exec" + 8399 Exit 120 | ruyi device provision 2>&1 + 8400 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 8533 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 189k 6029k 12.2M 17.4M 22.7M 29.0M 34.2M 39.5M 44.8M 50.0M 56.3M 61.6M 66.9M 73.2M 78.4M 83.7M 90.0M 95.3M 100M 106M 112M 118M 123M 128M 135M 140M 146M 153M 158M 163M 170M 176M 181M 187M 193M 198M ' +++ echo Received Spent 0 0 189k 6029k 12.2M 17.4M 22.7M 29.0M 34.2M 39.5M 44.8M 50.0M 56.3M 61.6M 66.9M 73.2M 78.4M 83.7M 90.0M 95.3M 100M 106M 112M 118M 123M 128M 135M 140M 146M 153M 158M 163M 170M 176M 181M 187M 193M 198M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 189k =~ [0-9]+ ]] ++ [[ 189k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 8531 Done nohup echo -e "$now_exec" + 8532 Exit 120 | ruyi device provision 2>&1 + 8533 Killed | tee > /tmp/ruyi_device/output ++ kill -9 8747 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 2351k 7199k 13.3M 19.6M 25.9M 32.2M 38.5M 44.9M 51.2M 57.5M 63.8M 70.1M 76.4M 81.2M 87.5M 93.8M 100M 106M 112M 117M 123M 130M 136M 142M 147M 153M 160M 166M 172M 179M 185M 191M 197M 204M 209M 209M ' +++ echo Received Spent 0 0 2351k 7199k 13.3M 19.6M 25.9M 32.2M 38.5M 44.9M 51.2M 57.5M 63.8M 70.1M 76.4M 81.2M 87.5M 93.8M 100M 106M 112M 117M 123M 130M 136M 142M 147M 153M 160M 166M 172M 179M 185M 191M 197M 204M 209M 209M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2351k =~ [0-9]+ ]] ++ [[ 2351k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 8745 Done nohup echo -e "$now_exec" + 8746 Exit 120 | ruyi device provision 2>&1 + 8747 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ echo -e 'y\n2\n1\n2' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 8885 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 3407k 9871k 15.9M 22.2M 28.5M 33.3M 39.6M 45.9M 52.2M 58.5M 63.2M 69.6M 75.9M 82.2M 88.5M 93.2M 99.5M 105M 112M 118M 124M 131M 135M 142M 148M 154M 161M 167M 173M 180M 184M 191M 194M ' +++ echo Received Spent 0 0 3407k 9871k 15.9M 22.2M 28.5M 33.3M 39.6M 45.9M 52.2M 58.5M 63.2M 69.6M 75.9M 82.2M 88.5M 93.2M 99.5M 105M 112M 118M 124M 131M 135M 142M 148M 154M 161M 167M 173M 180M 184M 191M 194M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3407k =~ [0-9]+ ]] ++ [[ 3407k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 8883 Done nohup echo -e "$now_exec" + 8884 Exit 120 | ruyi device provision 2>&1 + 8885 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ tail -1 +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 9098 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 0 15149 142k 366k 1486k 3566k 5054k 7326k 8526k 9278k 10.2M 11.7M 13.5M 14.9M 15.8M 17.9M 18.7M 20.3M 22.1M 22.2M 23.7M 24.2M 25.6M 26.4M 28.1M 29.1M 30.1M 30.1M ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 0 15149 142k 366k 1486k 3566k 5054k 7326k 8526k 9278k 10.2M 11.7M 13.5M 14.9M 15.8M 17.9M 18.7M 20.3M 22.1M 22.2M 23.7M 24.2M 25.6M 26.4M 28.1M 29.1M 30.1M 30.1M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 15149 =~ [0-9]+ ]] ++ [[ 15149 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 9096 Done nohup echo -e "$now_exec" + 9097 Exit 120 | ruyi device provision 2>&1 + 9098 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n3\n1\n1\nn' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 9232 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 23408 23408 98304 191k 495k 639k 959k 1151k 1487k 1743k 2016k 2383k 2799k 3135k 3424k 3680k 4223k 4591k 4991k 5503k 6048k 6447k 6944k 7343k 7968k 8367k 8928k 9696k 9.9M ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 23408 23408 98304 191k 495k 639k 959k 1151k 1487k 1743k 2016k 2383k 2799k 3135k 3424k 3680k 4223k 4591k 4991k 5503k 6048k 6447k 6944k 7343k 7968k 8367k 8928k 9696k 9.9M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 23408 =~ [0-9]+ ]] ++ [[ 23408 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ sed 's$/$_$g' +++ echo -E y312n ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 9230 Done nohup echo -e "$now_exec" + 9231 Exit 120 | ruyi device provision 2>&1 + 9232 Killed | tee > /tmp/ruyi_device/output ++ kill -9 9405 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 127k 1071k 3375k 4735k 5631k 7039k 8703k 11.6M 13.1M 14.7M 16.0M 16.7M 18.7M 19.7M 20.8M 21.9M 21.9M 25.3M 26.7M 27.6M 28.7M 29.4M 30.4M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 127k 1071k 3375k 4735k 5631k 7039k 8703k 11.6M 13.1M 14.7M 16.0M 16.7M 18.7M 19.7M 20.8M 21.9M 21.9M 25.3M 26.7M 27.6M 28.7M 29.4M 30.4M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 127k =~ [0-9]+ ]] ++ [[ 127k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 9403 Done nohup echo -e "$now_exec" + 9404 Exit 120 | ruyi device provision 2>&1 + 9405 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 9542 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 32759 383k 703k 1744k 2991k 4752k 6687k 8528k 9919k 11.8M 13.6M 15.1M 17.0M 19.7M 21.9M 24.3M 26.6M 30.0M 32.5M 35.8M 38.1M 41.0M 42.6M 45.0M 47.2M 47.2M ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 32759 383k 703k 1744k 2991k 4752k 6687k 8528k 9919k 11.8M 13.6M 15.1M 17.0M 19.7M 21.9M 24.3M 26.6M 30.0M 32.5M 35.8M 38.1M 41.0M 42.6M 45.0M 47.2M 47.2M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 32759 =~ [0-9]+ ]] ++ [[ 32759 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 +./common/device_lib.sh: line 37: 9540 Done nohup echo -e "$now_exec" + 9541 Exit 120 | ruyi device provision 2>&1 + 9542 Killed | tee > /tmp/ruyi_device/output ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 9740 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Received +++ awk '{printf $4" "}' +++ grep -A 100 Total /tmp/ruyi_device/output_e ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 0 235k 1467k 6763k 10.8M 13.8M 15.6M 16.8M 19.2M 22.8M 25.8M 31.1M 32.7M 36.7M 41.0M 44.0M 47.2M 51.2M 51.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 0 235k 1467k 6763k 10.8M 13.8M 15.6M 16.8M 19.2M 22.8M 25.8M 31.1M 32.7M 36.7M 41.0M 44.0M 47.2M 51.2M 51.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 235k =~ [0-9]+ ]] ++ [[ 235k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision +./common/device_lib.sh: line 37: 9738 Done nohup echo -e "$now_exec" + 9739 Exit 120 | ruyi device provision 2>&1 + 9740 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ awk '{print $4}' +++ echo Happy 'hacking!' 1 1 ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ awk '{print $3}' +++ echo Happy 'hacking!' 0 0 ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ awk '{print $3}' +++ echo Happy 'hacking!' 1 1 ++ local ret_e=1 +++ awk '{print $4}' +++ echo Happy 'hacking!' 1 1 ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ awk '{print $4}' +++ echo Happy 'hacking!' 1 1 ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-09:17:58.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 09:18:00 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 09:18:02 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 09:18:04 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 09:18:06 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 09:18:17 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-09_17_58.tar.gz b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-09_17_58.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..11906abb97555d08c4f35694239709eef66b01e6 GIT binary patch literal 8419 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 literal 0 HcmV?d00001 diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-07_16_07.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-07_16_07.log new file mode 100644 index 00000000..30ec99de --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-07_16_07.log @@ -0,0 +1,303 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:16:11 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:16:50 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:16:57 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:17:04 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 17 20.8M 17 3771k 0 0 1520k 0 0:00:14 0:00:02 0:00:12 1530k 42 20.8M 42 9163k 0 0 2612k 0 0:00:08 0:00:03 0:00:05 2623k 65 20.8M 65 13.6M 0 0 3121k 0 0:00:06 0:00:04 0:00:02 3132k 90 20.8M 90 18.9M 0 0 3515k 0 0:00:06 0:00:05 0:00:01 4652k 100 20.8M 100 20.8M 0 0 3641k 0 0:00:05 0:00:05 --:--:-- 4923k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:17:20 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:17:22 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting +objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting +objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% +(200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% +(229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% +(259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting +objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 5 42.8M 5 2249k 0 0 1058k 0 0:00:41 0:00:02 0:00:39 1065k 17 42.8M 17 7625k 0 0 2281k 0 0:00:19 0:00:03 0:00:16 2291k 24 42.8M 24 10.5M 0 0 2692k 0 0:00:16 0:00:04 0:00:12 2701k 32 42.8M 32 13.9M 0 0 2874k 0 0:00:15 0:00:04 0:00:11 2883k 42 42.8M 42 18.3M 0 0 3139k 0 0:00:13 0:00:05 0:00:08 4051k 54 42.8M 54 23.3M 0 0 3425k 0 0:00:12 0:00:06 0:00:06 4459k 66 42.8M 66 28.6M 0 0 3673k 0 0:00:11 0:00:07 0:00:04 4674k 81 42.8M 81 34.9M 0 0 3940k 0 0:00:11 0:00:09 0:00:02 4923k 93 42.8M 93 40.2M 0 0 4119k 0 0:00:10 0:00:09 0:00:01 5356k 100 42.8M 100 42.8M 0 0 4187k 0 0:00:10 0:00:10 --:--:-- 5589k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:20:34 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:20:35 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:20:37 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 07:20:39 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:20:51 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-07_32_53.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-07_32_53.log new file mode 100644 index 00000000..e0136507 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-07_32_53.log @@ -0,0 +1,289 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:32:57 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:33:35 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:33:41 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:33:48 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 6 20.8M 6 1404k 0 0 693k 0 0:00:30 0:00:02 0:00:28 700k 31 20.8M 31 6796k 0 0 2267k 0 0:00:09 0:00:02 0:00:07 2279k 57 20.8M 57 11.9M 0 0 3095k 0 0:00:06 0:00:03 0:00:03 3108k 81 20.8M 81 16.9M 0 0 3544k 0 0:00:06 0:00:04 0:00:02 3556k 100 20.8M 100 20.8M 0 0 3777k 0 0:00:05 0:00:05 --:--:-- 5070k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:34:05 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:34:06 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% +(207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% +(237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% +(266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% +(296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: +44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting +objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting +objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting +objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting +objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting +objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting +objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing +objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 231M 1 2626k 0 0 1215k 0 0:03:14 0:00:02 0:03:12 1225k 3 231M 3 7836k 0 0 2257k 0 0:01:44 0:00:03 0:01:41 2268k 4 231M 4 10.8M 0 0 2735k 0 0:01:26 0:00:04 0:01:22 2746k 6 231M 6 15.7M 0 0 3212k 0 0:01:13 0:00:05 0:01:08 3222k 9 231M 9 20.9M 0 0 3569k 0 0:01:06 0:00:06 0:01:00 4484k 11 231M 11 27.2M 0 0 3894k 0 0:01:00 0:00:07 0:00:53 5048k 14 231M 14 32.5M 0 0 4096k 0 0:00:57 0:00:08 0:00:49 5462k 16 231M 16 37.8M 0 0 4293k 0 0:00:55 0:00:09 0:00:46 5561k 19 231M 19 44.1M 0 0 4474k 0 0:00:52 0:00:10 0:00:42 5715k 21 231M 21 49.3M 0 0 4564k 0 0:00:51 0:00:11 0:00:40 5749k 23 231M 23 54.6M 0 0 4653k 0 0:00:50 0:00:12 0:00:38 5777k 26 231M 26 60.9M 0 0 4752k 0 0:00:49 0:00:13 0:00:36 5822k 28 231M 28 66.2M 0 0 4828k 0 0:00:49 0:00:14 0:00:35 5789k 31 231M 31 72.5M 0 0 4902k 0 0:00:48 0:00:15 0:00:33 5761k 33 231M 33 77.7M 0 0 4951k 0 0:00:47 0:00:16 0:00:31 5807k 35 231M 35 83.0M 0 0 5000k 0 0:00:47 0:00:17 0:00:30 5836k 38 231M 38 89.3M 0 0 5056k 0 0:00:46 0:00:18 0:00:28 5857k 41 231M 41 95.6M 0 0 5109k 0 0:00:46 0:00:19 0:00:27 5876k 43 231M 43 100M 0 0 5147k 0 0:00:46 0:00:20 0:00:26 5899k 46 231M 46 107M 0 0 5193k 0 0:00:45 0:00:21 0:00:24 5961k 48 231M 48 112M 0 0 5220k 0 0:00:45 0:00:22 0:00:23 5960k 50 231M 50 117M 0 0 5231k 0 0:00:45 0:00:23 0:00:22 5869k 53 231M 53 123M 0 0 5233k 0 0:00:45 0:00:24 0:00:21 5720k 55 231M 55 128M 0 0 5234k 0 0:00:45 0:00:25 0:00:20 5581k 57 231M 57 133M 0 0 5234k 0 0:00:45 0:00:26 0:00:19 5408k 59 231M 59 138M 0 0 5236k 0 0:00:45 0:00:27 0:00:18 5306k 62 231M 62 144M 0 0 5261k 0 0:00:45 0:00:28 0:00:17 5402k 65 231M 65 150M 0 0 5281k 0 0:00:44 0:00:29 0:00:15 5508k 67 231M 67 155M 0 0 5304k 0 0:00:44 0:00:30 0:00:14 5659k 70 231M 70 161M 0 0 5321k 0 0:00:44 0:00:31 0:00:13 5774k 72 231M 72 167M 0 0 5325k 0 0:00:44 0:00:32 0:00:12 5810k 74 231M 74 172M 0 0 5345k 0 0:00:44 0:00:33 0:00:11 5816k 77 231M 77 178M 0 0 5367k 0 0:00:44 0:00:34 0:00:10 5871k 79 231M 79 184M 0 0 5382k 0 0:00:44 0:00:35 0:00:09 5851k 82 231M 82 190M 0 0 5400k 0 0:00:43 0:00:36 0:00:07 5900k 85 231M 85 196M 0 0 5419k 0 0:00:43 0:00:37 0:00:06 6024k 87 231M 87 201M 0 0 5432k 0 0:00:43 0:00:38 0:00:05 6000k 89 231M 89 207M 0 0 5439k 0 0:00:43 0:00:39 0:00:04 5942k 90 231M 90 209M 0 0 5248k 0 0:00:45 0:00:40 0:00:05 4445k 90 231M 90 210M 0 0 5251k 0 0:00:45 0:00:41 0:00:04 4155k 93 231M 93 216M 0 0 5269k 0 0:00:44 0:00:42 0:00:02 4140k 95 231M 95 221M 0 0 5277k 0 0:00:44 0:00:43 0:00:01 4097k 98 231M 98 227M 0 0 5267k 0 0:00:44 0:00:44 --:--:-- 3971k 100 231M 100 231M 0 0 5269k 0 0:00:44 0:00:44 --:--:-- 5477k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:43:43 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:43:44 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:43:46 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 07:43:47 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:44:09 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-09_21_11.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-09_21_11.log new file mode 100644 index 00000000..7716eb5d --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-09_21_11.log @@ -0,0 +1,184 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 09:21:15 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:21:52 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:21:59 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 09:22:07 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 21 20.8M 21 4700k 0 0 1726k 0 0:00:12 0:00:02 0:00:10 1736k 47 20.8M 47 9.8M 0 0 2771k 0 0:00:07 0:00:03 0:00:04 2783k 72 20.8M 72 15.1M 0 0 3392k 0 0:00:06 0:00:04 0:00:02 3404k 100 20.8M 100 20.8M 0 0 3874k 0 0:00:05 0:00:05 --:--:-- 5233k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 09:22:23 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 09:22:25 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' riscv64 == riscv64 ']' ++ qemu_pkg= ++ qemu_cmd= ++ qemu_bin= ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting +objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting +objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting +objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting +objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting +objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting +objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting +objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No llvm-upstream available for current host riscv64, skip' ++ message='No llvm-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No llvm-upstream available for current host riscv64, skip' +Wed Apr 10 09:23:30 2024 - INFO - No llvm-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 09:23:32 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 09:23:34 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 09:23:44 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-10_11_51.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-10_11_51.log new file mode 100644 index 00000000..1e923879 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-10_11_51.log @@ -0,0 +1,238 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 10:11:56 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 10:12:36 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 10:12:42 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 10:12:49 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 5 20.8M 5 1111k 0 0 478k 0 0:00:44 0:00:02 0:00:42 482k 14 20.8M 14 3015k 0 0 907k 0 0:00:23 0:00:03 0:00:20 912k 25 20.8M 25 5367k 0 0 1243k 0 0:00:17 0:00:04 0:00:13 1248k 39 20.8M 39 8487k 0 0 1595k 0 0:00:13 0:00:05 0:00:08 1600k 58 20.8M 58 12.1M 0 0 1971k 0 0:00:10 0:00:06 0:00:04 2501k 75 20.8M 75 15.8M 0 0 2216k 0 0:00:09 0:00:07 0:00:02 3022k 94 20.8M 94 19.7M 0 0 2433k 0 0:00:08 0:00:08 --:--:-- 3447k 100 20.8M 100 20.8M 0 0 2492k 0 0:00:08 0:00:08 --:--:-- 3759k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 10:13:08 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 10:13:09 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: +8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting +objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 10:15:17 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 10:15:18 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 10:15:20 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 10:15:21 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 10:15:32 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-07_44_17.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-07_44_17.log new file mode 100644 index 00000000..da1025d1 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-07_44_17.log @@ -0,0 +1,168 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:44:21 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:45:00 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:45:07 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:45:14 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 8 20.8M 8 1902k 0 0 818k 0 0:00:26 0:00:02 0:00:24 828k 22 20.8M 22 4894k 0 0 1465k 0 0:00:14 0:00:03 0:00:11 1478k 36 20.8M 36 7870k 0 0 1819k 0 0:00:11 0:00:04 0:00:07 1832k 53 20.8M 53 11.1M 0 0 2138k 0 0:00:09 0:00:05 0:00:04 2150k 77 20.8M 77 16.1M 0 0 2543k 0 0:00:08 0:00:06 0:00:02 3210k 98 20.8M 98 20.5M 0 0 2835k 0 0:00:07 0:00:07 --:--:-- 3757k 100 20.8M 100 20.8M 0 0 2854k 0 0:00:07 0:00:07 --:--:-- 3973k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:45:32 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:45:34 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No qemu-user-riscv-upstream available for current host riscv64, skip' ++ message='No qemu-user-riscv-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No qemu-user-riscv-upstream available for current host riscv64, skip' +Wed Apr 10 07:46:39 2024 - INFO - No qemu-user-riscv-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:46:40 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 07:46:42 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:46:53 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-07_47_16.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-07_47_16.log new file mode 100644 index 00000000..8cbd6952 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-07_47_16.log @@ -0,0 +1,267 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:47:20 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:48:03 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:48:10 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:48:16 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 2 20.8M 2 628k 0 0 341k 0 0:01:02 0:00:01 0:01:01 345k 33 20.8M 33 7092k 0 0 2407k 0 0:00:08 0:00:02 0:00:06 2424k 52 20.8M 52 10.9M 0 0 2963k 0 0:00:07 0:00:03 0:00:04 2980k 77 20.8M 77 16.2M 0 0 3458k 0 0:00:06 0:00:04 0:00:02 3473k 100 20.8M 100 20.8M 0 0 3761k 0 0:00:05 0:00:05 --:--:-- 4962k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:48:33 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:48:35 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 231M 0 156k 0 0 97724 0 0:41:22 0:00:01 0:41:21 98639 2 231M 2 5419k 0 0 2012k 0 0:01:57 0:00:02 0:01:55 2023k 4 231M 4 9.8M 0 0 2766k 0 0:01:25 0:00:03 0:01:22 2778k 6 231M 6 13.9M 0 0 3080k 0 0:01:16 0:00:04 0:01:12 3090k 7 231M 7 17.8M 0 0 3246k 0 0:01:12 0:00:05 0:01:07 4224k 9 231M 9 23.1M 0 0 3485k 0 0:01:07 0:00:06 0:01:01 4569k 11 231M 11 27.3M 0 0 3661k 0 0:01:04 0:00:07 0:00:57 4558k 14 231M 14 32.5M 0 0 3858k 0 0:01:01 0:00:08 0:00:53 4649k 16 231M 16 37.8M 0 0 4018k 0 0:00:58 0:00:09 0:00:49 4886k 19 231M 19 44.1M 0 0 4181k 0 0:00:56 0:00:10 0:00:46 5199k 21 231M 21 49.4M 0 0 4278k 0 0:00:55 0:00:11 0:00:44 5348k 23 231M 23 53.6M 0 0 4329k 0 0:00:54 0:00:12 0:00:42 5342k 25 231M 25 58.8M 0 0 4394k 0 0:00:53 0:00:13 0:00:40 5309k 27 231M 27 64.1M 0 0 4466k 0 0:00:53 0:00:14 0:00:39 5319k 29 231M 29 69.3M 0 0 4535k 0 0:00:52 0:00:15 0:00:37 5323k 32 231M 32 74.6M 0 0 4596k 0 0:00:51 0:00:16 0:00:35 5376k 34 231M 34 80.9M 0 0 4659k 0 0:00:50 0:00:17 0:00:33 5476k 37 231M 37 86.2M 0 0 4696k 0 0:00:50 0:00:18 0:00:32 5513k 39 231M 39 91.4M 0 0 4730k 0 0:00:50 0:00:19 0:00:31 5494k 41 231M 41 96.7M 0 0 4767k 0 0:00:49 0:00:20 0:00:29 5479k 44 231M 44 102M 0 0 4803k 0 0:00:49 0:00:21 0:00:28 5477k 46 231M 46 107M 0 0 4839k 0 0:00:48 0:00:22 0:00:26 5493k 48 231M 48 112M 0 0 4871k 0 0:00:48 0:00:23 0:00:25 5548k 50 231M 50 117M 0 0 4897k 0 0:00:48 0:00:24 0:00:24 5578k 51 231M 51 118M 0 0 4724k 0 0:00:50 0:00:25 0:00:25 4544k 53 231M 53 124M 0 0 4737k 0 0:00:50 0:00:26 0:00:24 4456k 55 231M 55 127M 0 0 4731k 0 0:00:50 0:00:27 0:00:23 4236k 56 231M 56 131M 0 0 4699k 0 0:00:50 0:00:28 0:00:22 3883k 58 231M 58 135M 0 0 4693k 0 0:00:50 0:00:29 0:00:21 3689k 60 231M 60 141M 0 0 4702k 0 0:00:50 0:00:30 0:00:20 4585k 62 231M 62 145M 0 0 4700k 0 0:00:50 0:00:31 0:00:19 4491k 65 231M 65 150M 0 0 4710k 0 0:00:50 0:00:32 0:00:18 4596k 67 231M 67 155M 0 0 4732k 0 0:00:50 0:00:33 0:00:17 4912k 69 231M 69 161M 0 0 4753k 0 0:00:49 0:00:34 0:00:15 5106k 72 231M 72 167M 0 0 4790k 0 0:00:49 0:00:35 0:00:14 5324k 74 231M 74 172M 0 0 4808k 0 0:00:49 0:00:36 0:00:13 5479k 76 231M 76 177M 0 0 4828k 0 0:00:49 0:00:37 0:00:12 5597k 79 231M 79 183M 0 0 4847k 0 0:00:48 0:00:38 0:00:10 5630k 81 231M 81 188M 0 0 4849k 0 0:00:48 0:00:39 0:00:09 5497k 83 231M 83 193M 0 0 4866k 0 0:00:48 0:00:40 0:00:08 5417k 85 231M 85 198M 0 0 4883k 0 0:00:48 0:00:41 0:00:07 5437k 88 231M 88 204M 0 0 4896k 0 0:00:48 0:00:42 0:00:06 5414k 90 231M 90 209M 0 0 4911k 0 0:00:48 0:00:43 0:00:05 5408k 92 231M 92 214M 0 0 4913k 0 0:00:48 0:00:44 0:00:04 5430k 92 231M 92 214M 0 0 4619k 0 0:00:51 0:00:47 0:00:04 3148k 93 231M 93 215M 0 0 4621k 0 0:00:51 0:00:47 0:00:04 2826k 95 231M 95 221M 0 0 4637k 0 0:00:51 0:00:48 0:00:03 2827k 97 231M 97 225M 0 0 4646k 0 0:00:50 0:00:49 0:00:01 2708k 99 231M 99 230M 0 0 4654k 0 0:00:50 0:00:50 --:--:-- 2710k 100 231M 100 231M 0 0 4655k 0 0:00:50 0:00:50 --:--:-- 5172k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ grep 'The virtual environment is now created.' ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:57:35 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:57:37 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:57:38 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 07:57:40 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:58:00 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_20_59.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_20_59.log new file mode 100644 index 00000000..6eef3d43 --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_20_59.log @@ -0,0 +1,653 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:21:04 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:21:41 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:21:48 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:21:55 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 11 20.8M 11 2457k 0 0 1120k 0 0:00:19 0:00:02 0:00:17 1129k 36 20.8M 36 7849k 0 0 2505k 0 0:00:08 0:00:03 0:00:05 2518k 61 20.8M 61 12.9M 0 0 3214k 0 0:00:06 0:00:04 0:00:02 3228k 87 20.8M 87 18.1M 0 0 3665k 0 0:00:05 0:00:05 --:--:-- 3721k 100 20.8M 100 20.8M 0 0 3742k 0 0:00:05 0:00:05 --:--:-- 4920k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:22:11 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:22:13 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting +objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% +(122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% +(135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing +objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-rv64ilp32-elf +gnu-plct +gnu-plct-xthead +llvm-upstream +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-rv64ilp32-elf/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240223.0-ruyi.20240224 (latest)' ++ '[' '!' -z ' - 0.20240223.0-ruyi.20240224 (latest)' ']' ++ pkgname=gnu-plct-rv64ilp32-elf ++ break ++ '[' -z gnu-plct-rv64ilp32-elf ']' ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20240224-PLCT-Source +s-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 5 42.8M 5 2468k 0 0 1109k 0 0:00:39 0:00:02 0:00:37 1117k 20 42.8M 20 8932k 0 0 2673k 0 0:00:16 0:00:03 0:00:13 2685k 32 42.8M 32 13.9M 0 0 3361k 0 0:00:13 0:00:04 0:00:09 3374k 47 42.8M 47 20.3M 0 0 3881k 0 0:00:11 0:00:05 0:00:06 4030k 59 42.8M 59 25.5M 0 0 4180k 0 0:00:10 0:00:06 0:00:04 5409k 71 42.8M 71 30.8M 0 0 4392k 0 0:00:09 0:00:07 0:00:02 5863k 84 42.8M 84 36.0M 0 0 4495k 0 0:00:09 0:00:08 0:00:01 5742k 97 42.8M 97 41.8M 0 0 4630k 0 0:00:09 0:00:09 --:--:-- 5714k 100 42.8M 100 42.8M 0 0 4630k 0 0:00:09 0:00:09 --:--:-- 5607k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/riscv64/gnu-plct-rv64il +p32-elf-0.20240223.0-ruyi.20240224 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:29:07 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:29:09 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:29:11 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 07:29:13 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:29:31 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-08_26_52.log b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-08_26_52.log new file mode 100644 index 00000000..7edb24cc --- /dev/null +++ b/20240408/logs/fedora38-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-08_26_52.log @@ -0,0 +1,317 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 08:26:57 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:27:38 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:27:44 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 08:27:51 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 6 20.8M 6 1449k 0 0 724k 0 0:00:29 0:00:02 0:00:27 730k 31 20.8M 31 6825k 0 0 2304k 0 0:00:09 0:00:02 0:00:07 2318k 62 20.8M 62 12.9M 0 0 3250k 0 0:00:06 0:00:04 0:00:02 3265k 87 20.8M 87 18.2M 0 0 3682k 0 0:00:05 0:00:05 --:--:-- 3696k 100 20.8M 100 20.8M 0 0 3845k 0 0:00:05 0:00:05 --:--:-- 5144k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 08:28:08 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 08:28:10 2024 - INFO - Start to run test. ++ mkdir qemu_test +mkdir: cannot create directory ‘qemu_test’: File exists ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: +7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting +objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting +objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting +objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting +objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting +objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting +objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting +objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting +objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting +objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting +objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing +objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% +(97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: +35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% +(138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ ruyi list +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -n '' ']' ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 294M 0 715k 0 0 380k 0 0:13:13 0:00:01 0:13:12 384k 1 294M 1 5579k 0 0 1942k 0 0:02:35 0:00:02 0:02:33 1954k 3 294M 3 10.7M 0 0 2799k 0 0:01:47 0:00:03 0:01:44 2811k 5 294M 5 15.9M 0 0 3372k 0 0:01:29 0:00:04 0:01:25 3383k 7 294M 7 22.2M 0 0 3800k 0 0:01:19 0:00:06 0:01:13 4897k 9 294M 9 27.5M 0 0 4073k 0 0:01:14 0:00:06 0:01:08 5449k 11 294M 11 33.8M 0 0 4322k 0 0:01:09 0:00:08 0:01:01 5650k 13 294M 13 39.1M 0 0 4438k 0 0:01:08 0:00:09 0:00:59 5696k 15 294M 15 44.3M 0 0 4537k 0 0:01:06 0:00:10 0:00:56 5633k 16 294M 16 49.6M 0 0 4648k 0 0:01:04 0:00:10 0:00:54 5681k 18 294M 18 54.9M 0 0 4735k 0 0:01:03 0:00:11 0:00:52 5662k 20 294M 20 61.2M 0 0 4837k 0 0:01:02 0:00:12 0:00:50 5673k 22 294M 22 66.4M 0 0 4900k 0 0:01:01 0:00:13 0:00:48 5758k 24 294M 24 71.7M 0 0 4938k 0 0:01:01 0:00:14 0:00:47 5763k 26 294M 26 78.0M 0 0 5002k 0 0:01:00 0:00:15 0:00:45 5771k 28 294M 28 83.3M 0 0 5049k 0 0:00:59 0:00:16 0:00:43 5793k 30 294M 30 89.6M 0 0 5093k 0 0:00:59 0:00:18 0:00:41 5752k 32 294M 32 94.8M 0 0 5125k 0 0:00:58 0:00:18 0:00:40 5740k 33 294M 33 100M 0 0 5147k 0 0:00:58 0:00:19 0:00:39 5764k 35 294M 35 105M 0 0 5178k 0 0:00:58 0:00:20 0:00:38 5756k 37 294M 37 111M 0 0 5200k 0 0:00:58 0:00:21 0:00:37 5700k 39 294M 39 116M 0 0 5229k 0 0:00:57 0:00:22 0:00:35 5729k 41 294M 41 123M 0 0 5254k 0 0:00:57 0:00:24 0:00:33 5736k 43 294M 43 127M 0 0 5254k 0 0:00:57 0:00:24 0:00:33 5683k 45 294M 45 133M 0 0 5283k 0 0:00:57 0:00:25 0:00:32 5711k 47 294M 47 139M 0 0 5304k 0 0:00:56 0:00:26 0:00:30 5776k 49 294M 49 145M 0 0 5329k 0 0:00:56 0:00:27 0:00:29 5781k 51 294M 51 150M 0 0 5347k 0 0:00:56 0:00:28 0:00:28 5809k 53 294M 53 156M 0 0 5366k 0 0:00:56 0:00:29 0:00:27 5912k 55 294M 55 162M 0 0 5377k 0 0:00:56 0:00:30 0:00:26 5870k 57 294M 57 168M 0 0 5398k 0 0:00:55 0:00:31 0:00:24 5887k 58 294M 58 173M 0 0 5413k 0 0:00:55 0:00:32 0:00:23 5891k 61 294M 61 180M 0 0 5440k 0 0:00:55 0:00:33 0:00:22 5974k 63 294M 63 186M 0 0 5458k 0 0:00:55 0:00:34 0:00:21 6012k 65 294M 65 191M 0 0 5468k 0 0:00:55 0:00:35 0:00:20 6030k 67 294M 67 197M 0 0 5489k 0 0:00:54 0:00:36 0:00:18 6075k 69 294M 69 204M 0 0 5509k 0 0:00:54 0:00:37 0:00:17 6132k 71 294M 71 209M 0 0 5524k 0 0:00:54 0:00:38 0:00:16 6102k 71 294M 71 209M 0 0 5213k 0 0:00:57 0:00:41 0:00:16 3829k 72 294M 72 213M 0 0 5220k 0 0:00:57 0:00:41 0:00:16 3745k 74 294M 74 218M 0 0 5229k 0 0:00:57 0:00:42 0:00:15 3614k 75 294M 75 222M 0 0 5205k 0 0:00:57 0:00:43 0:00:14 3241k 77 294M 77 228M 0 0 5201k 0 0:00:58 0:00:44 0:00:14 3154k 79 294M 79 233M 0 0 5203k 0 0:00:58 0:00:45 0:00:13 5112k 81 294M 81 238M 0 0 5206k 0 0:00:57 0:00:47 0:00:10 5089k 82 294M 82 244M 0 0 5217k 0 0:00:57 0:00:47 0:00:10 5119k 84 294M 84 249M 0 0 5229k 0 0:00:57 0:00:48 0:00:09 5439k 86 294M 86 255M 0 0 5246k 0 0:00:57 0:00:49 0:00:08 5656k 88 294M 88 261M 0 0 5258k 0 0:00:57 0:00:50 0:00:07 5778k 90 294M 90 267M 0 0 5267k 0 0:00:57 0:00:51 0:00:06 5850k 92 294M 92 272M 0 0 5271k 0 0:00:57 0:00:52 0:00:05 5785k 94 294M 94 277M 0 0 5275k 0 0:00:57 0:00:53 0:00:04 5710k 96 294M 96 283M 0 0 5278k 0 0:00:57 0:00:54 0:00:03 5597k 97 294M 97 288M 0 0 5279k 0 0:00:57 0:00:55 0:00:02 5493k 99 294M 99 293M 0 0 5278k 0 0:00:57 0:00:56 0:00:01 5385k 100 294M 100 294M 0 0 5277k 0 0:00:57 0:00:57 --:--:-- 5346k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n '' ']' ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 08:39:46 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 08:39:47 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 08:39:49 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 08:39:50 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 08:40:11 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-03_11_37.log b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-03_11_37.log new file mode 100644 index 00000000..173296fd --- /dev/null +++ b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-03_11_37.log @@ -0,0 +1,204 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:11:37 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpwm7z_b5x ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpwm7z_b5x ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpwm7z_b5x ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpwm7z_b5x +Wed Apr 10 03:12:38 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpwm7z_b5x ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpwm7z_b5x ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpwm7z_b5x +Wed Apr 10 03:12:38 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpwm7z_b5x ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 19 23.7M 19 4636k 0 0 5170k 0 0:00:04 --:--:-- 0:00:04 5169k 47 23.7M 47 11.3M 0 0 6122k 0 0:00:03 0:00:01 0:00:02 6121k 73 23.7M 73 17.4M 0 0 6151k 0 0:00:03 0:00:02 0:00:01 6151k 100 23.7M 100 23.7M 0 0 6269k 0 0:00:03 0:00:03 --:--:-- 6270k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:12:42 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:12:42 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:12:45 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:12:45 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:12:45 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpwm7z_b5x ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpwm7z_b5x ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpwm7z_b5x +Wed Apr 10 03:12:49 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpwm7z_b5x +Wed Apr 10 03:12:49 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:12:49 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-02_31_33.log b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-02_31_33.log new file mode 100644 index 00000000..532ab3b1 --- /dev/null +++ b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-02_31_33.log @@ -0,0 +1,2958 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:31:33 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmptw9egqay ++ '[' -z '' ']' ++ tmpfile=/tmp/tmptw9egqay ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptw9egqay ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmptw9egqay +Wed Apr 10 02:31:51 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmptw9egqay ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptw9egqay ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmptw9egqay +Wed Apr 10 02:31:51 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmptw9egqay ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 23.7M 1 345k 0 0 871k 0 0:00:27 --:--:-- 0:00:27 871k 10 23.7M 10 2649k 0 0 1897k 0 0:00:12 0:00:01 0:00:11 1897k 19 23.7M 19 4793k 0 0 1999k 0 0:00:12 0:00:02 0:00:10 1999k 30 23.7M 30 7513k 0 0 2212k 0 0:00:10 0:00:03 0:00:07 2212k 44 23.7M 44 10.4M 0 0 2432k 0 0:00:09 0:00:04 0:00:05 2432k 55 23.7M 55 13.2M 0 0 2513k 0 0:00:09 0:00:05 0:00:04 2643k 66 23.7M 66 15.8M 0 0 2542k 0 0:00:09 0:00:06 0:00:03 2722k 75 23.7M 75 17.9M 0 0 2488k 0 0:00:09 0:00:07 0:00:02 2723k 83 23.7M 83 19.8M 0 0 2415k 0 0:00:10 0:00:08 0:00:02 2553k 92 23.7M 92 21.9M 0 0 2393k 0 0:00:10 0:00:09 0:00:01 2358k 99 23.7M 99 23.6M 0 0 2326k 0 0:00:10 0:00:10 --:--:-- 2125k 100 23.7M 100 23.7M 0 0 2327k 0 0:00:10 0:00:10 --:--:-- 1987k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:32:02 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:32:02 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 47.2M 3 1498k 0 0 1299k 0 0:00:37 0:00:01 0:00:36 1298k 7 47.2M 7 3578k 0 0 1664k 0 0:00:29 0:00:02 0:00:27 1663k 13 47.2M 13 6314k 0 0 2004k 0 0:00:24 0:00:03 0:00:21 2004k 18 47.2M 18 9034k 0 0 2176k 0 0:00:22 0:00:04 0:00:18 2176k 25 47.2M 25 11.8M 0 0 2356k 0 0:00:20 0:00:05 0:00:15 2428k 31 47.2M 31 14.9M 0 0 2480k 0 0:00:19 0:00:06 0:00:13 2753k 38 47.2M 38 18.0M 0 0 2590k 0 0:00:18 0:00:07 0:00:11 2988k 44 47.2M 44 21.0M 0 0 2628k 0 0:00:18 0:00:08 0:00:10 3020k 48 47.2M 48 22.9M 0 0 2571k 0 0:00:18 0:00:09 0:00:09 2898k 53 47.2M 53 25.2M 0 0 2544k 0 0:00:19 0:00:10 0:00:09 2737k 59 47.2M 59 28.3M 0 0 2603k 0 0:00:18 0:00:11 0:00:07 2755k 65 47.2M 65 31.0M 0 0 2613k 0 0:00:18 0:00:12 0:00:06 2646k 71 47.2M 71 33.5M 0 0 2613k 0 0:00:18 0:00:13 0:00:05 2588k 76 47.2M 76 36.3M 0 0 2631k 0 0:00:18 0:00:14 0:00:04 2742k 82 47.2M 82 39.0M 0 0 2638k 0 0:00:18 0:00:15 0:00:03 2829k 90 47.2M 90 42.8M 0 0 2715k 0 0:00:17 0:00:16 0:00:01 2966k 100 47.2M 100 47.2M 0 0 2826k 0 0:00:17 0:00:17 --:--:-- 3349k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 3 47.2M 3 1498k 0 0 1299k 0 0:00:37 0:00:01 0:00:36 $'1298k\r' 7 47.2M 7 3578k 0 0 1664k 0 0:00:29 0:00:02 0:00:27 $'1663k\r' 13 47.2M 13 6314k 0 0 2004k 0 0:00:24 0:00:03 0:00:21 $'2004k\r' 18 47.2M 18 9034k 0 0 2176k 0 0:00:22 0:00:04 0:00:18 $'2176k\r' 25 47.2M 25 11.8M 0 0 2356k 0 0:00:20 0:00:05 0:00:15 $'2428k\r' 31 47.2M 31 14.9M 0 0 2480k 0 0:00:19 0:00:06 0:00:13 $'2753k\r' 38 47.2M 38 18.0M 0 0 2590k 0 0:00:18 0:00:07 0:00:11 $'2988k\r' 44 47.2M 44 21.0M 0 0 2628k 0 0:00:18 0:00:08 0:00:10 $'3020k\r' 48 47.2M 48 22.9M 0 0 2571k 0 0:00:18 0:00:09 0:00:09 $'2898k\r' 53 47.2M 53 25.2M 0 0 2544k 0 0:00:19 0:00:10 0:00:09 $'2737k\r' 59 47.2M 59 28.3M 0 0 2603k 0 0:00:18 0:00:11 0:00:07 $'2755k\r' 65 47.2M 65 31.0M 0 0 2613k 0 0:00:18 0:00:12 0:00:06 $'2646k\r' 71 47.2M 71 33.5M 0 0 2613k 0 0:00:18 0:00:13 0:00:05 $'2588k\r' 76 47.2M 76 36.3M 0 0 2631k 0 0:00:18 0:00:14 0:00:04 $'2742k\r' 82 47.2M 82 39.0M 0 0 2638k 0 0:00:18 0:00:15 0:00:03 $'2829k\r' 90 47.2M 90 42.8M 0 0 2715k 0 0:00:17 0:00:16 0:00:01 $'2966k\r100' 47.2M 100 47.2M 0 0 2826k 0 0:00:17 0:00:17 --:--:-- 3349k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 +++ awk '{print $NF}' ++ bp=3.0-ruyi.20240224 ++ bpb=3.0-ruyi.20240224/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 3 47.2M 3 1498k 0 0 1299k 0 0:00:37 0:00:01 0:00:36 $'1298k\r' 7 47.2M 7 3578k 0 0 1664k 0 0:00:29 0:00:02 0:00:27 $'1663k\r' 13 47.2M 13 6314k 0 0 2004k 0 0:00:24 0:00:03 0:00:21 $'2004k\r' 18 47.2M 18 9034k 0 0 2176k 0 0:00:22 0:00:04 0:00:18 $'2176k\r' 25 47.2M 25 11.8M 0 0 2356k 0 0:00:20 0:00:05 0:00:15 $'2428k\r' 31 47.2M 31 14.9M 0 0 2480k 0 0:00:19 0:00:06 0:00:13 $'2753k\r' 38 47.2M 38 18.0M 0 0 2590k 0 0:00:18 0:00:07 0:00:11 $'2988k\r' 44 47.2M 44 21.0M 0 0 2628k 0 0:00:18 0:00:08 0:00:10 $'3020k\r' 48 47.2M 48 22.9M 0 0 2571k 0 0:00:18 0:00:09 0:00:09 $'2898k\r' 53 47.2M 53 25.2M 0 0 2544k 0 0:00:19 0:00:10 0:00:09 $'2737k\r' 59 47.2M 59 28.3M 0 0 2603k 0 0:00:18 0:00:11 0:00:07 $'2755k\r' 65 47.2M 65 31.0M 0 0 2613k 0 0:00:18 0:00:12 0:00:06 $'2646k\r' 71 47.2M 71 33.5M 0 0 2613k 0 0:00:18 0:00:13 0:00:05 $'2588k\r' 76 47.2M 76 36.3M 0 0 2631k 0 0:00:18 0:00:14 0:00:04 $'2742k\r' 82 47.2M 82 39.0M 0 0 2638k 0 0:00:18 0:00:15 0:00:03 $'2829k\r' 90 47.2M 90 42.8M 0 0 2715k 0 0:00:17 0:00:16 0:00:01 $'2966k\r100' 47.2M 100 47.2M 0 0 2826k 0 0:00:17 0:00:17 --:--:-- 3349k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 3.0-ruyi.20240224 ']' ++ '[' '!' -d 3.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 1134k 0 0 2247k 0 0:02:20 --:--:-- 0:02:20 2246k 2 308M 2 7854k 0 0 5242k 0 0:01:00 0:00:01 0:00:59 5239k 4 308M 4 14.8M 0 0 6083k 0 0:00:51 0:00:02 0:00:49 6081k 6 308M 6 21.4M 0 0 6273k 0 0:00:50 0:00:03 0:00:47 6273k 8 308M 8 27.5M 0 0 6273k 0 0:00:50 0:00:04 0:00:46 6273k 11 308M 11 34.0M 0 0 6334k 0 0:00:49 0:00:05 0:00:44 6747k 13 308M 13 40.5M 0 0 6393k 0 0:00:49 0:00:06 0:00:43 6739k 15 308M 15 47.0M 0 0 6424k 0 0:00:49 0:00:07 0:00:42 6595k 17 308M 17 53.7M 0 0 6470k 0 0:00:48 0:00:08 0:00:40 6608k 19 308M 19 59.6M 0 0 6425k 0 0:00:49 0:00:09 0:00:40 6563k 21 308M 21 65.7M 0 0 6412k 0 0:00:49 0:00:10 0:00:39 6499k 23 308M 23 72.0M 0 0 6414k 0 0:00:49 0:00:11 0:00:38 6440k 25 308M 25 78.6M 0 0 6446k 0 0:00:48 0:00:12 0:00:36 6479k 28 308M 28 86.5M 0 0 6563k 0 0:00:48 0:00:13 0:00:35 6720k 30 308M 30 95.4M 0 0 6742k 0 0:00:46 0:00:14 0:00:32 7343k 34 308M 34 105M 0 0 6940k 0 0:00:45 0:00:15 0:00:30 8048k 37 308M 37 115M 0 0 7156k 0 0:00:44 0:00:16 0:00:28 8864k 40 308M 40 126M 0 0 7383k 0 0:00:42 0:00:17 0:00:25 9724k 44 308M 44 137M 0 0 7599k 0 0:00:41 0:00:18 0:00:23 10.1M 48 308M 48 148M 0 0 7794k 0 0:00:40 0:00:19 0:00:21 10.5M 51 308M 51 159M 0 0 7963k 0 0:00:39 0:00:20 0:00:19 10.8M 55 308M 55 169M 0 0 8088k 0 0:00:39 0:00:21 0:00:18 10.9M 58 308M 58 180M 0 0 8235k 0 0:00:38 0:00:22 0:00:16 10.9M 62 308M 62 192M 0 0 8370k 0 0:00:37 0:00:23 0:00:14 10.9M 65 308M 65 203M 0 0 8495k 0 0:00:37 0:00:24 0:00:13 10.9M 68 308M 68 210M 0 0 8449k 0 0:00:37 0:00:25 0:00:12 10.1M 70 308M 70 217M 0 0 8400k 0 0:00:37 0:00:26 0:00:11 9742k 72 308M 72 223M 0 0 8305k 0 0:00:38 0:00:27 0:00:11 8620k 73 308M 73 227M 0 0 8178k 0 0:00:38 0:00:28 0:00:10 7276k 75 308M 75 232M 0 0 8083k 0 0:00:39 0:00:29 0:00:10 6064k 77 308M 77 238M 0 0 8017k 0 0:00:39 0:00:30 0:00:09 5814k 79 308M 79 245M 0 0 7981k 0 0:00:39 0:00:31 0:00:08 5757k 82 308M 82 252M 0 0 7969k 0 0:00:39 0:00:32 0:00:07 6121k 84 308M 84 261M 0 0 7980k 0 0:00:39 0:00:33 0:00:06 6848k 87 308M 87 269M 0 0 8009k 0 0:00:39 0:00:34 0:00:05 7574k 90 308M 90 279M 0 0 8059k 0 0:00:39 0:00:35 0:00:04 8316k 93 308M 93 289M 0 0 8121k 0 0:00:38 0:00:36 0:00:02 9004k 97 308M 97 300M 0 0 8197k 0 0:00:38 0:00:37 0:00:01 9680k 100 308M 100 308M 0 0 8258k 0 0:00:38 0:00:38 --:--:-- 9.9M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 1134k 0 0 2247k 0 0:02:20 --:--:-- 0:02:20 $'2246k\r' 2 308M 2 7854k 0 0 5242k 0 0:01:00 0:00:01 0:00:59 $'5239k\r' 4 308M 4 14.8M 0 0 6083k 0 0:00:51 0:00:02 0:00:49 $'6081k\r' 6 308M 6 21.4M 0 0 6273k 0 0:00:50 0:00:03 0:00:47 $'6273k\r' 8 308M 8 27.5M 0 0 6273k 0 0:00:50 0:00:04 0:00:46 $'6273k\r' 11 308M 11 34.0M 0 0 6334k 0 0:00:49 0:00:05 0:00:44 $'6747k\r' 13 308M 13 40.5M 0 0 6393k 0 0:00:49 0:00:06 0:00:43 $'6739k\r' 15 308M 15 47.0M 0 0 6424k 0 0:00:49 0:00:07 0:00:42 $'6595k\r' 17 308M 17 53.7M 0 0 6470k 0 0:00:48 0:00:08 0:00:40 $'6608k\r' 19 308M 19 59.6M 0 0 6425k 0 0:00:49 0:00:09 0:00:40 $'6563k\r' 21 308M 21 65.7M 0 0 6412k 0 0:00:49 0:00:10 0:00:39 $'6499k\r' 23 308M 23 72.0M 0 0 6414k 0 0:00:49 0:00:11 0:00:38 $'6440k\r' 25 308M 25 78.6M 0 0 6446k 0 0:00:48 0:00:12 0:00:36 $'6479k\r' 28 308M 28 86.5M 0 0 6563k 0 0:00:48 0:00:13 0:00:35 $'6720k\r' 30 308M 30 95.4M 0 0 6742k 0 0:00:46 0:00:14 0:00:32 $'7343k\r' 34 308M 34 105M 0 0 6940k 0 0:00:45 0:00:15 0:00:30 $'8048k\r' 37 308M 37 115M 0 0 7156k 0 0:00:44 0:00:16 0:00:28 $'8864k\r' 40 308M 40 126M 0 0 7383k 0 0:00:42 0:00:17 0:00:25 $'9724k\r' 44 308M 44 137M 0 0 7599k 0 0:00:41 0:00:18 0:00:23 $'10.1M\r' 48 308M 48 148M 0 0 7794k 0 0:00:40 0:00:19 0:00:21 $'10.5M\r' 51 308M 51 159M 0 0 7963k 0 0:00:39 0:00:20 0:00:19 $'10.8M\r' 55 308M 55 169M 0 0 8088k 0 0:00:39 0:00:21 0:00:18 $'10.9M\r' 58 308M 58 180M 0 0 8235k 0 0:00:38 0:00:22 0:00:16 $'10.9M\r' 62 308M 62 192M 0 0 8370k 0 0:00:37 0:00:23 0:00:14 $'10.9M\r' 65 308M 65 203M 0 0 8495k 0 0:00:37 0:00:24 0:00:13 $'10.9M\r' 68 308M 68 210M 0 0 8449k 0 0:00:37 0:00:25 0:00:12 $'10.1M\r' 70 308M 70 217M 0 0 8400k 0 0:00:37 0:00:26 0:00:11 $'9742k\r' 72 308M 72 223M 0 0 8305k 0 0:00:38 0:00:27 0:00:11 $'8620k\r' 73 308M 73 227M 0 0 8178k 0 0:00:38 0:00:28 0:00:10 $'7276k\r' 75 308M 75 232M 0 0 8083k 0 0:00:39 0:00:29 0:00:10 $'6064k\r' 77 308M 77 238M 0 0 8017k 0 0:00:39 0:00:30 0:00:09 $'5814k\r' 79 308M 79 245M 0 0 7981k 0 0:00:39 0:00:31 0:00:08 $'5757k\r' 82 308M 82 252M 0 0 7969k 0 0:00:39 0:00:32 0:00:07 $'6121k\r' 84 308M 84 261M 0 0 7980k 0 0:00:39 0:00:33 0:00:06 $'6848k\r' 87 308M 87 269M 0 0 8009k 0 0:00:39 0:00:34 0:00:05 $'7574k\r' 90 308M 90 279M 0 0 8059k 0 0:00:39 0:00:35 0:00:04 $'8316k\r' 93 308M 93 289M 0 0 8121k 0 0:00:38 0:00:36 0:00:02 $'9004k\r' 97 308M 97 300M 0 0 8197k 0 0:00:38 0:00:37 0:00:01 $'9680k\r100' 308M 100 308M 0 0 8258k 0 0:00:38 0:00:38 --:--:-- 9.9M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 +++ awk '{print $NF}' ++ bp=222 ++ bpb=222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 1134k 0 0 2247k 0 0:02:20 --:--:-- 0:02:20 $'2246k\r' 2 308M 2 7854k 0 0 5242k 0 0:01:00 0:00:01 0:00:59 $'5239k\r' 4 308M 4 14.8M 0 0 6083k 0 0:00:51 0:00:02 0:00:49 $'6081k\r' 6 308M 6 21.4M 0 0 6273k 0 0:00:50 0:00:03 0:00:47 $'6273k\r' 8 308M 8 27.5M 0 0 6273k 0 0:00:50 0:00:04 0:00:46 $'6273k\r' 11 308M 11 34.0M 0 0 6334k 0 0:00:49 0:00:05 0:00:44 $'6747k\r' 13 308M 13 40.5M 0 0 6393k 0 0:00:49 0:00:06 0:00:43 $'6739k\r' 15 308M 15 47.0M 0 0 6424k 0 0:00:49 0:00:07 0:00:42 $'6595k\r' 17 308M 17 53.7M 0 0 6470k 0 0:00:48 0:00:08 0:00:40 $'6608k\r' 19 308M 19 59.6M 0 0 6425k 0 0:00:49 0:00:09 0:00:40 $'6563k\r' 21 308M 21 65.7M 0 0 6412k 0 0:00:49 0:00:10 0:00:39 $'6499k\r' 23 308M 23 72.0M 0 0 6414k 0 0:00:49 0:00:11 0:00:38 $'6440k\r' 25 308M 25 78.6M 0 0 6446k 0 0:00:48 0:00:12 0:00:36 $'6479k\r' 28 308M 28 86.5M 0 0 6563k 0 0:00:48 0:00:13 0:00:35 $'6720k\r' 30 308M 30 95.4M 0 0 6742k 0 0:00:46 0:00:14 0:00:32 $'7343k\r' 34 308M 34 105M 0 0 6940k 0 0:00:45 0:00:15 0:00:30 $'8048k\r' 37 308M 37 115M 0 0 7156k 0 0:00:44 0:00:16 0:00:28 $'8864k\r' 40 308M 40 126M 0 0 7383k 0 0:00:42 0:00:17 0:00:25 $'9724k\r' 44 308M 44 137M 0 0 7599k 0 0:00:41 0:00:18 0:00:23 $'10.1M\r' 48 308M 48 148M 0 0 7794k 0 0:00:40 0:00:19 0:00:21 $'10.5M\r' 51 308M 51 159M 0 0 7963k 0 0:00:39 0:00:20 0:00:19 $'10.8M\r' 55 308M 55 169M 0 0 8088k 0 0:00:39 0:00:21 0:00:18 $'10.9M\r' 58 308M 58 180M 0 0 8235k 0 0:00:38 0:00:22 0:00:16 $'10.9M\r' 62 308M 62 192M 0 0 8370k 0 0:00:37 0:00:23 0:00:14 $'10.9M\r' 65 308M 65 203M 0 0 8495k 0 0:00:37 0:00:24 0:00:13 $'10.9M\r' 68 308M 68 210M 0 0 8449k 0 0:00:37 0:00:25 0:00:12 $'10.1M\r' 70 308M 70 217M 0 0 8400k 0 0:00:37 0:00:26 0:00:11 $'9742k\r' 72 308M 72 223M 0 0 8305k 0 0:00:38 0:00:27 0:00:11 $'8620k\r' 73 308M 73 227M 0 0 8178k 0 0:00:38 0:00:28 0:00:10 $'7276k\r' 75 308M 75 232M 0 0 8083k 0 0:00:39 0:00:29 0:00:10 $'6064k\r' 77 308M 77 238M 0 0 8017k 0 0:00:39 0:00:30 0:00:09 $'5814k\r' 79 308M 79 245M 0 0 7981k 0 0:00:39 0:00:31 0:00:08 $'5757k\r' 82 308M 82 252M 0 0 7969k 0 0:00:39 0:00:32 0:00:07 $'6121k\r' 84 308M 84 261M 0 0 7980k 0 0:00:39 0:00:33 0:00:06 $'6848k\r' 87 308M 87 269M 0 0 8009k 0 0:00:39 0:00:34 0:00:05 $'7574k\r' 90 308M 90 279M 0 0 8059k 0 0:00:39 0:00:35 0:00:04 $'8316k\r' 93 308M 93 289M 0 0 8121k 0 0:00:38 0:00:36 0:00:02 $'9004k\r' 97 308M 97 300M 0 0 8197k 0 0:00:38 0:00:37 0:00:01 $'9680k\r100' 308M 100 308M 0 0 8258k 0 0:00:38 0:00:38 --:--:-- 9.9M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 222 ']' ++ '[' '!' -d 222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 1035k 0 0 1153k 0 0:03:32 --:--:-- 0:03:32 1153k 1 238M 1 4539k 0 0 2379k 0 0:01:42 0:00:01 0:01:41 2379k 3 238M 3 7787k 0 0 2683k 0 0:01:31 0:00:02 0:01:29 2683k 4 238M 4 11.3M 0 0 2983k 0 0:01:22 0:00:03 0:01:19 2982k 6 238M 6 15.2M 0 0 3187k 0 0:01:16 0:00:04 0:01:12 3187k 7 238M 7 18.4M 0 0 3210k 0 0:01:16 0:00:05 0:01:11 3580k 8 238M 8 21.2M 0 0 3158k 0 0:01:17 0:00:06 0:01:11 3456k 10 238M 10 24.1M 0 0 3135k 0 0:01:18 0:00:07 0:01:11 3397k 11 238M 11 27.4M 0 0 3153k 0 0:01:17 0:00:08 0:01:09 3286k 12 238M 12 30.1M 0 0 3122k 0 0:01:18 0:00:09 0:01:09 3059k 13 238M 13 33.0M 0 0 3106k 0 0:01:18 0:00:10 0:01:08 2982k 15 238M 15 36.3M 0 0 3125k 0 0:01:18 0:00:11 0:01:07 3079k 16 238M 16 39.9M 0 0 3167k 0 0:01:17 0:00:12 0:01:05 3219k 18 238M 18 43.3M 0 0 3191k 0 0:01:16 0:00:13 0:01:03 3257k 19 238M 19 46.3M 0 0 3188k 0 0:01:16 0:00:14 0:01:02 3318k 20 238M 20 49.7M 0 0 3204k 0 0:01:16 0:00:15 0:01:01 3417k 22 238M 22 53.1M 0 0 3223k 0 0:01:15 0:00:16 0:00:59 3456k 23 238M 23 56.2M 0 0 3219k 0 0:01:16 0:00:17 0:00:59 3352k 25 238M 25 60.3M 0 0 3271k 0 0:01:14 0:00:18 0:00:56 3493k 27 238M 27 64.6M 0 0 3329k 0 0:01:13 0:00:19 0:00:54 3749k 29 238M 29 69.8M 0 0 3423k 0 0:01:11 0:00:20 0:00:51 4121k 31 238M 31 74.7M 0 0 3496k 0 0:01:09 0:00:21 0:00:48 4420k 33 238M 33 79.3M 0 0 3547k 0 0:01:08 0:00:22 0:00:46 4721k 35 238M 35 84.9M 0 0 3638k 0 0:01:07 0:00:23 0:00:44 5027k 37 238M 37 90.4M 0 0 3718k 0 0:01:05 0:00:24 0:00:41 5265k 39 238M 39 95.0M 0 0 3759k 0 0:01:05 0:00:25 0:00:40 5161k 41 238M 41 99.5M 0 0 3790k 0 0:01:04 0:00:26 0:00:38 5077k 43 238M 43 104M 0 0 3828k 0 0:01:03 0:00:27 0:00:36 5116k 45 238M 45 109M 0 0 3868k 0 0:01:03 0:00:28 0:00:35 4966k 47 238M 47 113M 0 0 3902k 0 0:01:02 0:00:29 0:00:33 4823k 49 238M 49 119M 0 0 3947k 0 0:01:01 0:00:30 0:00:31 4920k 52 238M 52 124M 0 0 3995k 0 0:01:01 0:00:31 0:00:30 5098k 54 238M 54 130M 0 0 4060k 0 0:01:00 0:00:32 0:00:28 5356k 56 238M 56 135M 0 0 4083k 0 0:00:59 0:00:33 0:00:26 5324k 58 238M 58 138M 0 0 4072k 0 0:01:00 0:00:34 0:00:26 5086k 59 238M 59 142M 0 0 4058k 0 0:01:00 0:00:35 0:00:25 4745k 61 238M 61 146M 0 0 4059k 0 0:01:00 0:00:36 0:00:24 4467k 63 238M 63 151M 0 0 4080k 0 0:00:59 0:00:37 0:00:22 4211k 64 238M 64 154M 0 0 4079k 0 0:00:59 0:00:38 0:00:21 4050k 66 238M 66 158M 0 0 4074k 0 0:01:00 0:00:39 0:00:21 4091k 68 238M 68 162M 0 0 4074k 0 0:01:00 0:00:40 0:00:20 4188k 70 238M 70 167M 0 0 4096k 0 0:00:59 0:00:41 0:00:18 4370k 72 238M 72 172M 0 0 4122k 0 0:00:59 0:00:42 0:00:17 4441k 74 238M 74 177M 0 0 4143k 0 0:00:59 0:00:43 0:00:16 4640k 76 238M 76 182M 0 0 4169k 0 0:00:58 0:00:44 0:00:14 4921k 78 238M 78 187M 0 0 4193k 0 0:00:58 0:00:45 0:00:13 5171k 80 238M 80 192M 0 0 4205k 0 0:00:58 0:00:46 0:00:12 5121k 82 238M 82 196M 0 0 4200k 0 0:00:58 0:00:47 0:00:11 4870k 83 238M 83 200M 0 0 4191k 0 0:00:58 0:00:48 0:00:10 4614k 85 238M 85 203M 0 0 4171k 0 0:00:58 0:00:49 0:00:09 4192k 86 238M 86 205M 0 0 4142k 0 0:00:59 0:00:50 0:00:09 3673k 87 238M 87 208M 0 0 4119k 0 0:00:59 0:00:51 0:00:08 3312k 88 238M 88 212M 0 0 4103k 0 0:00:59 0:00:52 0:00:07 3171k 90 238M 90 215M 0 0 4088k 0 0:00:59 0:00:53 0:00:06 3083k 91 238M 91 219M 0 0 4089k 0 0:00:59 0:00:54 0:00:05 3270k 93 238M 93 224M 0 0 4105k 0 0:00:59 0:00:55 0:00:04 3731k 96 238M 96 229M 0 0 4135k 0 0:00:59 0:00:56 0:00:03 4300k 98 238M 98 236M 0 0 4178k 0 0:00:58 0:00:57 0:00:01 4977k 100 238M 100 238M 0 0 4198k 0 0:00:58 0:00:58 --:--:-- 5555k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 238M 0 1035k 0 0 1153k 0 0:03:32 --:--:-- 0:03:32 $'1153k\r' 1 238M 1 4539k 0 0 2379k 0 0:01:42 0:00:01 0:01:41 $'2379k\r' 3 238M 3 7787k 0 0 2683k 0 0:01:31 0:00:02 0:01:29 $'2683k\r' 4 238M 4 11.3M 0 0 2983k 0 0:01:22 0:00:03 0:01:19 $'2982k\r' 6 238M 6 15.2M 0 0 3187k 0 0:01:16 0:00:04 0:01:12 $'3187k\r' 7 238M 7 18.4M 0 0 3210k 0 0:01:16 0:00:05 0:01:11 $'3580k\r' 8 238M 8 21.2M 0 0 3158k 0 0:01:17 0:00:06 0:01:11 $'3456k\r' 10 238M 10 24.1M 0 0 3135k 0 0:01:18 0:00:07 0:01:11 $'3397k\r' 11 238M 11 27.4M 0 0 3153k 0 0:01:17 0:00:08 0:01:09 $'3286k\r' 12 238M 12 30.1M 0 0 3122k 0 0:01:18 0:00:09 0:01:09 $'3059k\r' 13 238M 13 33.0M 0 0 3106k 0 0:01:18 0:00:10 0:01:08 $'2982k\r' 15 238M 15 36.3M 0 0 3125k 0 0:01:18 0:00:11 0:01:07 $'3079k\r' 16 238M 16 39.9M 0 0 3167k 0 0:01:17 0:00:12 0:01:05 $'3219k\r' 18 238M 18 43.3M 0 0 3191k 0 0:01:16 0:00:13 0:01:03 $'3257k\r' 19 238M 19 46.3M 0 0 3188k 0 0:01:16 0:00:14 0:01:02 $'3318k\r' 20 238M 20 49.7M 0 0 3204k 0 0:01:16 0:00:15 0:01:01 $'3417k\r' 22 238M 22 53.1M 0 0 3223k 0 0:01:15 0:00:16 0:00:59 $'3456k\r' 23 238M 23 56.2M 0 0 3219k 0 0:01:16 0:00:17 0:00:59 $'3352k\r' 25 238M 25 60.3M 0 0 3271k 0 0:01:14 0:00:18 0:00:56 $'3493k\r' 27 238M 27 64.6M 0 0 3329k 0 0:01:13 0:00:19 0:00:54 $'3749k\r' 29 238M 29 69.8M 0 0 3423k 0 0:01:11 0:00:20 0:00:51 $'4121k\r' 31 238M 31 74.7M 0 0 3496k 0 0:01:09 0:00:21 0:00:48 $'4420k\r' 33 238M 33 79.3M 0 0 3547k 0 0:01:08 0:00:22 0:00:46 $'4721k\r' 35 238M 35 84.9M 0 0 3638k 0 0:01:07 0:00:23 0:00:44 $'5027k\r' 37 238M 37 90.4M 0 0 3718k 0 0:01:05 0:00:24 0:00:41 $'5265k\r' 39 238M 39 95.0M 0 0 3759k 0 0:01:05 0:00:25 0:00:40 $'5161k\r' 41 238M 41 99.5M 0 0 3790k 0 0:01:04 0:00:26 0:00:38 $'5077k\r' 43 238M 43 104M 0 0 3828k 0 0:01:03 0:00:27 0:00:36 $'5116k\r' 45 238M 45 109M 0 0 3868k 0 0:01:03 0:00:28 0:00:35 $'4966k\r' 47 238M 47 113M 0 0 3902k 0 0:01:02 0:00:29 0:00:33 $'4823k\r' 49 238M 49 119M 0 0 3947k 0 0:01:01 0:00:30 0:00:31 $'4920k\r' 52 238M 52 124M 0 0 3995k 0 0:01:01 0:00:31 0:00:30 $'5098k\r' 54 238M 54 130M 0 0 4060k 0 0:01:00 0:00:32 0:00:28 $'5356k\r' 56 238M 56 135M 0 0 4083k 0 0:00:59 0:00:33 0:00:26 $'5324k\r' 58 238M 58 138M 0 0 4072k 0 0:01:00 0:00:34 0:00:26 $'5086k\r' 59 238M 59 142M 0 0 4058k 0 0:01:00 0:00:35 0:00:25 $'4745k\r' 61 238M 61 146M 0 0 4059k 0 0:01:00 0:00:36 0:00:24 $'4467k\r' 63 238M 63 151M 0 0 4080k 0 0:00:59 0:00:37 0:00:22 $'4211k\r' 64 238M 64 154M 0 0 4079k 0 0:00:59 0:00:38 0:00:21 $'4050k\r' 66 238M 66 158M 0 0 4074k 0 0:01:00 0:00:39 0:00:21 $'4091k\r' 68 238M 68 162M 0 0 4074k 0 0:01:00 0:00:40 0:00:20 $'4188k\r' 70 238M 70 167M 0 0 4096k 0 0:00:59 0:00:41 0:00:18 $'4370k\r' 72 238M 72 172M 0 0 4122k 0 0:00:59 0:00:42 0:00:17 $'4441k\r' 74 238M 74 177M 0 0 4143k 0 0:00:59 0:00:43 0:00:16 $'4640k\r' 76 238M 76 182M 0 0 4169k 0 0:00:58 0:00:44 0:00:14 $'4921k\r' 78 238M 78 187M 0 0 4193k 0 0:00:58 0:00:45 0:00:13 $'5171k\r' 80 238M 80 192M 0 0 4205k 0 0:00:58 0:00:46 0:00:12 $'5121k\r' 82 238M 82 196M 0 0 4200k 0 0:00:58 0:00:47 0:00:11 $'4870k\r' 83 238M 83 200M 0 0 4191k 0 0:00:58 0:00:48 0:00:10 $'4614k\r' 85 238M 85 203M 0 0 4171k 0 0:00:58 0:00:49 0:00:09 $'4192k\r' 86 238M 86 205M 0 0 4142k 0 0:00:59 0:00:50 0:00:09 $'3673k\r' 87 238M 87 208M 0 0 4119k 0 0:00:59 0:00:51 0:00:08 $'3312k\r' 88 238M 88 212M 0 0 4103k 0 0:00:59 0:00:52 0:00:07 $'3171k\r' 90 238M 90 215M 0 0 4088k 0 0:00:59 0:00:53 0:00:06 $'3083k\r' 91 238M 91 219M 0 0 4089k 0 0:00:59 0:00:54 0:00:05 $'3270k\r' 93 238M 93 224M 0 0 4105k 0 0:00:59 0:00:55 0:00:04 $'3731k\r' 96 238M 96 229M 0 0 4135k 0 0:00:59 0:00:56 0:00:03 $'4300k\r' 98 238M 98 236M 0 0 4178k 0 0:00:58 0:00:57 0:00:01 $'4977k\r100' 238M 100 238M 0 0 4198k 0 0:00:58 0:00:58 --:--:-- 5555k info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 238M 0 1035k 0 0 1153k 0 0:03:32 --:--:-- 0:03:32 $'1153k\r' 1 238M 1 4539k 0 0 2379k 0 0:01:42 0:00:01 0:01:41 $'2379k\r' 3 238M 3 7787k 0 0 2683k 0 0:01:31 0:00:02 0:01:29 $'2683k\r' 4 238M 4 11.3M 0 0 2983k 0 0:01:22 0:00:03 0:01:19 $'2982k\r' 6 238M 6 15.2M 0 0 3187k 0 0:01:16 0:00:04 0:01:12 $'3187k\r' 7 238M 7 18.4M 0 0 3210k 0 0:01:16 0:00:05 0:01:11 $'3580k\r' 8 238M 8 21.2M 0 0 3158k 0 0:01:17 0:00:06 0:01:11 $'3456k\r' 10 238M 10 24.1M 0 0 3135k 0 0:01:18 0:00:07 0:01:11 $'3397k\r' 11 238M 11 27.4M 0 0 3153k 0 0:01:17 0:00:08 0:01:09 $'3286k\r' 12 238M 12 30.1M 0 0 3122k 0 0:01:18 0:00:09 0:01:09 $'3059k\r' 13 238M 13 33.0M 0 0 3106k 0 0:01:18 0:00:10 0:01:08 $'2982k\r' 15 238M 15 36.3M 0 0 3125k 0 0:01:18 0:00:11 0:01:07 $'3079k\r' 16 238M 16 39.9M 0 0 3167k 0 0:01:17 0:00:12 0:01:05 $'3219k\r' 18 238M 18 43.3M 0 0 3191k 0 0:01:16 0:00:13 0:01:03 $'3257k\r' 19 238M 19 46.3M 0 0 3188k 0 0:01:16 0:00:14 0:01:02 $'3318k\r' 20 238M 20 49.7M 0 0 3204k 0 0:01:16 0:00:15 0:01:01 $'3417k\r' 22 238M 22 53.1M 0 0 3223k 0 0:01:15 0:00:16 0:00:59 $'3456k\r' 23 238M 23 56.2M 0 0 3219k 0 0:01:16 0:00:17 0:00:59 $'3352k\r' 25 238M 25 60.3M 0 0 3271k 0 0:01:14 0:00:18 0:00:56 $'3493k\r' 27 238M 27 64.6M 0 0 3329k 0 0:01:13 0:00:19 0:00:54 $'3749k\r' 29 238M 29 69.8M 0 0 3423k 0 0:01:11 0:00:20 0:00:51 $'4121k\r' 31 238M 31 74.7M 0 0 3496k 0 0:01:09 0:00:21 0:00:48 $'4420k\r' 33 238M 33 79.3M 0 0 3547k 0 0:01:08 0:00:22 0:00:46 $'4721k\r' 35 238M 35 84.9M 0 0 3638k 0 0:01:07 0:00:23 0:00:44 $'5027k\r' 37 238M 37 90.4M 0 0 3718k 0 0:01:05 0:00:24 0:00:41 $'5265k\r' 39 238M 39 95.0M 0 0 3759k 0 0:01:05 0:00:25 0:00:40 $'5161k\r' 41 238M 41 99.5M 0 0 3790k 0 0:01:04 0:00:26 0:00:38 $'5077k\r' 43 238M 43 104M 0 0 3828k 0 0:01:03 0:00:27 0:00:36 $'5116k\r' 45 238M 45 109M 0 0 3868k 0 0:01:03 0:00:28 0:00:35 $'4966k\r' 47 238M 47 113M 0 0 3902k 0 0:01:02 0:00:29 0:00:33 $'4823k\r' 49 238M 49 119M 0 0 3947k 0 0:01:01 0:00:30 0:00:31 $'4920k\r' 52 238M 52 124M 0 0 3995k 0 0:01:01 0:00:31 0:00:30 $'5098k\r' 54 238M 54 130M 0 0 4060k 0 0:01:00 0:00:32 0:00:28 $'5356k\r' 56 238M 56 135M 0 0 4083k 0 0:00:59 0:00:33 0:00:26 $'5324k\r' 58 238M 58 138M 0 0 4072k 0 0:01:00 0:00:34 0:00:26 $'5086k\r' 59 238M 59 142M 0 0 4058k 0 0:01:00 0:00:35 0:00:25 $'4745k\r' 61 238M 61 146M 0 0 4059k 0 0:01:00 0:00:36 0:00:24 $'4467k\r' 63 238M 63 151M 0 0 4080k 0 0:00:59 0:00:37 0:00:22 $'4211k\r' 64 238M 64 154M 0 0 4079k 0 0:00:59 0:00:38 0:00:21 $'4050k\r' 66 238M 66 158M 0 0 4074k 0 0:01:00 0:00:39 0:00:21 $'4091k\r' 68 238M 68 162M 0 0 4074k 0 0:01:00 0:00:40 0:00:20 $'4188k\r' 70 238M 70 167M 0 0 4096k 0 0:00:59 0:00:41 0:00:18 $'4370k\r' 72 238M 72 172M 0 0 4122k 0 0:00:59 0:00:42 0:00:17 $'4441k\r' 74 238M 74 177M 0 0 4143k 0 0:00:59 0:00:43 0:00:16 $'4640k\r' 76 238M 76 182M 0 0 4169k 0 0:00:58 0:00:44 0:00:14 $'4921k\r' 78 238M 78 187M 0 0 4193k 0 0:00:58 0:00:45 0:00:13 $'5171k\r' 80 238M 80 192M 0 0 4205k 0 0:00:58 0:00:46 0:00:12 $'5121k\r' 82 238M 82 196M 0 0 4200k 0 0:00:58 0:00:47 0:00:11 $'4870k\r' 83 238M 83 200M 0 0 4191k 0 0:00:58 0:00:48 0:00:10 $'4614k\r' 85 238M 85 203M 0 0 4171k 0 0:00:58 0:00:49 0:00:09 $'4192k\r' 86 238M 86 205M 0 0 4142k 0 0:00:59 0:00:50 0:00:09 $'3673k\r' 87 238M 87 208M 0 0 4119k 0 0:00:59 0:00:51 0:00:08 $'3312k\r' 88 238M 88 212M 0 0 4103k 0 0:00:59 0:00:52 0:00:07 $'3171k\r' 90 238M 90 215M 0 0 4088k 0 0:00:59 0:00:53 0:00:06 $'3083k\r' 91 238M 91 219M 0 0 4089k 0 0:00:59 0:00:54 0:00:05 $'3270k\r' 93 238M 93 224M 0 0 4105k 0 0:00:59 0:00:55 0:00:04 $'3731k\r' 96 238M 96 229M 0 0 4135k 0 0:00:59 0:00:56 0:00:03 $'4300k\r' 98 238M 98 236M 0 0 4178k 0 0:00:58 0:00:57 0:00:01 $'4977k\r100' 238M 100 238M 0 0 4198k 0 0:00:58 0:00:58 --:--:-- 5555k info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0ff86e2800f7e11a3128e567a2d8b000cbf4a713, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x00007ffee88b0000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f66d4d19000) + libc.so.6 => /lib64/libc.so.6 (0x00007f66d4b3b000) + /lib64/ld-linux-x86-64.so.2 (0x00007f66d4e49000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2175afe16c672249f8fd4db8a7032c7f4f89a2af, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00007ffc9edc9000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6a05efc000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6a05d1e000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6a06033000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73da7e46ec0c9cae37a62209630b1ad35bfab6b7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00007ffebfdee000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fd32b958000) + libc.so.6 => /lib64/libc.so.6 (0x00007fd32b77a000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd32bb3b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00007fffdd7a6000) + libc.so.6 => /lib64/libc.so.6 (0x00007fdef1bea000) + /lib64/ld-linux-x86-64.so.2 (0x00007fdef1dd1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a13377b5b9f486ad8611315353362c659052be30, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffee7708000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fed50bea000) + libc.so.6 => /lib64/libc.so.6 (0x00007fed50a0c000) + /lib64/ld-linux-x86-64.so.2 (0x00007fed50d21000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=72577a0fc73c81cc30e3f54daf7d2e6ac16827ba, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffd41b2a000) + libc.so.6 => /lib64/libc.so.6 (0x00007f936e483000) + /lib64/ld-linux-x86-64.so.2 (0x00007f936e66a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c566a5bada78e0b87b97ae9c33d6f4ac8b9e2ebb, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffeee9f5000) + libc.so.6 => /lib64/libc.so.6 (0x00007fbf6a7b0000) + /lib64/ld-linux-x86-64.so.2 (0x00007fbf6a9a3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffc5c377000) + libc.so.6 => /lib64/libc.so.6 (0x00007f20a6ec0000) + /lib64/ld-linux-x86-64.so.2 (0x00007f20a70a7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffe5fdfc000) + libc.so.6 => /lib64/libc.so.6 (0x00007fec16e3a000) + /lib64/ld-linux-x86-64.so.2 (0x00007fec17021000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00007ffe0d0f8000) + libc.so.6 => /lib64/libc.so.6 (0x00007f5a21fb4000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5a2219b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f758862ad25799082d6a801946bd5a68c1adf0ef, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffd2935a000) + libc.so.6 => /lib64/libc.so.6 (0x00007f55c55a9000) + /lib64/ld-linux-x86-64.so.2 (0x00007f55c5790000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b979aa47138752a4f812e2640cbf1790e940ec46, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007fff8e9e8000) + libc.so.6 => /lib64/libc.so.6 (0x00007f67fb695000) + /lib64/ld-linux-x86-64.so.2 (0x00007f67fb87c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e8d26a705fcdfaec505495eb0b88bca472cd3a9d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffc9a954000) + libc.so.6 => /lib64/libc.so.6 (0x00007f835700a000) + /lib64/ld-linux-x86-64.so.2 (0x00007f83571f1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ebc219e73811ca8a6a46ac5ee0e73dcb78b3139c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffd5bdd4000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe1fbd32000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe1fbf19000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=82b6b95e63c1d541743068f0ef8737a24f9b28d9, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffd77b61000) + libc.so.6 => /lib64/libc.so.6 (0x00007f5b794e8000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5b796cf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=022ab27b710146427a2f09b4c72f915b5cfea96f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffe1bd30000) + libc.so.6 => /lib64/libc.so.6 (0x00007f054a719000) + /lib64/ld-linux-x86-64.so.2 (0x00007f054a900000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5063ceae8548251c7fe77b887db847500500af0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) + linux-vdso.so.1 (0x00007ffca71c7000) + libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007fef80d77000) + libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007fef80d44000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fef80d3f000) + liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fef80d0c000) + libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fef7fe00000) + libm.so.6 => /lib64/libm.so.6 (0x00007fef8011f000) + libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fef80ce6000) + libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fef80ce1000) + libc.so.6 => /lib64/libc.so.6 (0x00007fef7fc22000) + /lib64/ld-linux-x86-64.so.2 (0x00007fef80dbf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) ++ '[' 0x = 0x ']' ++ LOG_WARN 'Found extra message in ldd riscv64-plct-linux-gnu-gdb output' ++ message='Found extra message in ldd riscv64-plct-linux-gnu-gdb output' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Found extra message in ldd riscv64-plct-linux-gnu-gdb output' +Wed Apr 10 02:41:48 2024 - WARN - Found extra message in ldd riscv64-plct-linux-gnu-gdb output ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bd1481439adec32395663c8e8e2f48309095269, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffc38f1f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f4ea91c6000) + /lib64/ld-linux-x86-64.so.2 (0x00007f4ea93ad000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7ba75731dae53aa328f2e9be718cd018c43b9bfe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffee7b76000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007faa3dbf4000) + libc.so.6 => /lib64/libc.so.6 (0x00007faa3da16000) + /lib64/ld-linux-x86-64.so.2 (0x00007faa3dde0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00007ffee4188000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6185282000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6184c22000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6185290000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffc5272a000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f07b6be7000) + libc.so.6 => /lib64/libc.so.6 (0x00007f07b6622000) + /lib64/ld-linux-x86-64.so.2 (0x00007f07b6bf5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=89135e7c6bb6f2c6ec334465f432a3334849ff39, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007fffe0de0000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f9814510000) + libm.so.6 => /lib64/libm.so.6 (0x00007f981442f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9814251000) + /lib64/ld-linux-x86-64.so.2 (0x00007f981451e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a7f8774c46ba3b3fb4673d9afcf1f3ca5b7d81ed, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00007ffe7d6cc000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f450174f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f4501571000) + /lib64/ld-linux-x86-64.so.2 (0x00007f4501884000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bf929f4a25a483d3f39ec7a6e076a930258423e5, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00007fff4aee4000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f1b8abde000) + libc.so.6 => /lib64/libc.so.6 (0x00007f1b8aa00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f1b8ad33000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=90ea9b74c2a07351f4850c027d8273369bc0f8de, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffed95b6000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6eddb71000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6edd622000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6eddb7f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=32baa2fc2c2afb863110ce5be9cbfb534ed9ab3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00007fff6dad8000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007facc5c42000) + libc.so.6 => /lib64/libc.so.6 (0x00007facc5a64000) + /lib64/ld-linux-x86-64.so.2 (0x00007facc5d79000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46a8f121c47196be8de92c76309f09efe41e2ff2, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00007fff1d1cf000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0e720c8000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0e723b2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3839019e395b24979c16ad2ef0474f548a7fa9fe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00007ffd22b64000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6552f9b000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6552dbd000) + /lib64/ld-linux-x86-64.so.2 (0x00007f65530cb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1cf7f23ae18f661e32545c07e829d91557b1a347, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00007ffc94d86000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6f3d5cb000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6f3d3ed000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6f3d6fc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=24feb89de7b69ed47938f4bcefffe103bb1b055e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00007ffd0a7d2000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f60d3422000) + libc.so.6 => /lib64/libc.so.6 (0x00007f60d3244000) + /lib64/ld-linux-x86-64.so.2 (0x00007f60d3577000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 232M 0 1117k 0 0 1964k 0 0:02:00 --:--:-- 0:02:00 1964k 1 232M 1 4701k 0 0 3005k 0 0:01:19 0:00:01 0:01:18 3006k 3 232M 3 9005k 0 0 3514k 0 0:01:07 0:00:02 0:01:05 3515k 5 232M 5 12.2M 0 0 3534k 0 0:01:07 0:00:03 0:01:04 3534k 6 232M 6 15.4M 0 0 3468k 0 0:01:08 0:00:04 0:01:04 3468k 7 232M 7 18.2M 0 0 3361k 0 0:01:10 0:00:05 0:01:05 3520k 8 232M 8 20.2M 0 0 3160k 0 0:01:15 0:00:06 0:01:09 3209k 9 232M 9 21.7M 0 0 2942k 0 0:01:20 0:00:07 0:01:13 2649k 9 232M 9 23.1M 0 0 2765k 0 0:01:25 0:00:08 0:01:17 2217k 10 232M 10 24.9M 0 0 2668k 0 0:01:29 0:00:09 0:01:20 1939k 11 232M 11 26.8M 0 0 2606k 0 0:01:31 0:00:10 0:01:21 1766k 12 232M 12 29.0M 0 0 2573k 0 0:01:32 0:00:11 0:01:21 1802k 13 232M 13 32.0M 0 0 2615k 0 0:01:30 0:00:12 0:01:18 2121k 15 232M 15 35.3M 0 0 2671k 0 0:01:28 0:00:13 0:01:15 2511k 16 232M 16 38.0M 0 0 2676k 0 0:01:28 0:00:14 0:01:14 2691k 17 232M 17 40.5M 0 0 2667k 0 0:01:29 0:00:15 0:01:14 2796k 18 232M 18 42.8M 0 0 2647k 0 0:01:29 0:00:16 0:01:13 2819k 19 232M 19 45.0M 0 0 2625k 0 0:01:30 0:00:17 0:01:13 2649k 20 232M 20 47.4M 0 0 2615k 0 0:01:30 0:00:18 0:01:12 2464k 21 232M 21 50.0M 0 0 2618k 0 0:01:30 0:00:19 0:01:11 2451k 22 232M 22 52.5M 0 0 2618k 0 0:01:30 0:00:20 0:01:10 2464k 23 232M 23 55.6M 0 0 2640k 0 0:01:29 0:00:21 0:01:08 2617k 25 232M 25 58.3M 0 0 2647k 0 0:01:29 0:00:22 0:01:07 2726k 26 232M 26 60.9M 0 0 2650k 0 0:01:29 0:00:23 0:01:06 2777k 27 232M 27 63.5M 0 0 2651k 0 0:01:29 0:00:24 0:01:05 2777k 28 232M 28 65.8M 0 0 2637k 0 0:01:30 0:00:25 0:01:05 2716k 29 232M 29 68.0M 0 0 2621k 0 0:01:30 0:00:26 0:01:04 2540k 30 232M 30 70.2M 0 0 2606k 0 0:01:31 0:00:27 0:01:04 2420k 31 232M 31 72.0M 0 0 2582k 0 0:01:31 0:00:28 0:01:03 2265k 32 232M 32 74.3M 0 0 2576k 0 0:01:32 0:00:29 0:01:03 2208k 32 232M 32 76.2M 0 0 2554k 0 0:01:33 0:00:30 0:01:03 2127k 33 232M 33 78.4M 0 0 2544k 0 0:01:33 0:00:31 0:01:02 2131k 34 232M 34 81.1M 0 0 2552k 0 0:01:33 0:00:32 0:01:01 2253k 36 232M 36 84.4M 0 0 2575k 0 0:01:32 0:00:33 0:00:59 2534k 37 232M 37 86.5M 0 0 2563k 0 0:01:32 0:00:34 0:00:58 2490k 38 232M 38 88.5M 0 0 2550k 0 0:01:33 0:00:35 0:00:58 2528k 38 232M 38 90.0M 0 0 2520k 0 0:01:34 0:00:36 0:00:58 2372k 39 232M 39 91.6M 0 0 2499k 0 0:01:35 0:00:37 0:00:58 2152k 40 232M 40 93.9M 0 0 2493k 0 0:01:35 0:00:38 0:00:57 1945k 41 232M 41 96.7M 0 0 2502k 0 0:01:34 0:00:39 0:00:55 2083k 42 232M 42 99.5M 0 0 2513k 0 0:01:34 0:00:40 0:00:54 2249k 44 232M 44 102M 0 0 2523k 0 0:01:34 0:00:41 0:00:53 2545k 45 232M 45 105M 0 0 2544k 0 0:01:33 0:00:42 0:00:51 2884k 46 232M 46 108M 0 0 2550k 0 0:01:33 0:00:43 0:00:50 2985k 47 232M 47 110M 0 0 2549k 0 0:01:33 0:00:44 0:00:49 2915k 48 232M 48 112M 0 0 2534k 0 0:01:33 0:00:45 0:00:48 2710k 49 232M 49 114M 0 0 2509k 0 0:01:34 0:00:46 0:00:48 2395k 49 232M 49 115M 0 0 2489k 0 0:01:35 0:00:47 0:00:48 2019k 50 232M 50 117M 0 0 2480k 0 0:01:35 0:00:48 0:00:47 1872k 51 232M 51 119M 0 0 2470k 0 0:01:36 0:00:49 0:00:47 1772k 52 232M 52 121M 0 0 2457k 0 0:01:36 0:00:50 0:00:46 1756k 53 232M 53 123M 0 0 2453k 0 0:01:36 0:00:51 0:00:45 1931k 54 232M 54 125M 0 0 2450k 0 0:01:36 0:00:52 0:00:44 2076k 55 232M 55 127M 0 0 2442k 0 0:01:37 0:00:53 0:00:44 2071k 56 232M 56 130M 0 0 2442k 0 0:01:37 0:00:54 0:00:43 2157k 56 232M 56 131M 0 0 2430k 0 0:01:37 0:00:55 0:00:42 2157k 57 232M 57 133M 0 0 2418k 0 0:01:38 0:00:56 0:00:42 2059k 58 232M 58 135M 0 0 2405k 0 0:01:38 0:00:57 0:00:41 1932k 58 232M 58 136M 0 0 2392k 0 0:01:39 0:00:58 0:00:41 1859k 59 232M 59 138M 0 0 2377k 0 0:01:39 0:00:59 0:00:40 1673k 60 232M 60 139M 0 0 2360k 0 0:01:40 0:01:00 0:00:40 1573k 61 232M 61 141M 0 0 2354k 0 0:01:40 0:01:01 0:00:39 1619k 62 232M 62 143M 0 0 2355k 0 0:01:40 0:01:02 0:00:38 1785k 62 232M 62 146M 0 0 2352k 0 0:01:40 0:01:03 0:00:37 1879k 63 232M 63 147M 0 0 2347k 0 0:01:41 0:01:04 0:00:37 1987k 64 232M 64 150M 0 0 2350k 0 0:01:41 0:01:05 0:00:36 2238k 65 232M 65 152M 0 0 2345k 0 0:01:41 0:01:06 0:00:35 2242k 66 232M 66 153M 0 0 2327k 0 0:01:42 0:01:07 0:00:35 1977k 66 232M 66 155M 0 0 2315k 0 0:01:42 0:01:08 0:00:34 1849k 67 232M 67 157M 0 0 2311k 0 0:01:42 0:01:09 0:00:33 1846k 68 232M 68 158M 0 0 2307k 0 0:01:42 0:01:10 0:00:32 1732k 69 232M 69 160M 0 0 2296k 0 0:01:43 0:01:11 0:00:32 1644k 69 232M 69 161M 0 0 2282k 0 0:01:44 0:01:12 0:00:32 1674k 70 232M 70 163M 0 0 2269k 0 0:01:44 0:01:13 0:00:31 1634k 71 232M 71 164M 0 0 2262k 0 0:01:45 0:01:14 0:00:31 1583k 71 232M 71 166M 0 0 2256k 0 0:01:45 0:01:15 0:00:30 1545k 72 232M 72 168M 0 0 2253k 0 0:01:45 0:01:16 0:00:29 1634k 73 232M 73 170M 0 0 2250k 0 0:01:45 0:01:17 0:00:28 1788k 74 232M 74 172M 0 0 2249k 0 0:01:45 0:01:18 0:00:27 1961k 75 232M 75 174M 0 0 2242k 0 0:01:45 0:01:19 0:00:26 1939k 75 232M 75 175M 0 0 2234k 0 0:01:46 0:01:20 0:00:26 1896k 76 232M 76 177M 0 0 2225k 0 0:01:46 0:01:21 0:00:25 1789k 77 232M 77 178M 0 0 2217k 0 0:01:47 0:01:22 0:00:25 1705k 77 232M 77 180M 0 0 2210k 0 0:01:47 0:01:23 0:00:24 1591k 78 232M 78 182M 0 0 2204k 0 0:01:47 0:01:24 0:00:23 1601k 79 232M 79 183M 0 0 2196k 0 0:01:48 0:01:25 0:00:23 1587k 79 232M 79 185M 0 0 2194k 0 0:01:48 0:01:26 0:00:22 1696k 80 232M 80 187M 0 0 2190k 0 0:01:48 0:01:27 0:00:21 1734k 81 232M 81 188M 0 0 2179k 0 0:01:49 0:01:28 0:00:21 1659k 81 232M 81 189M 0 0 2169k 0 0:01:49 0:01:29 0:00:20 1576k 82 232M 82 191M 0 0 2162k 0 0:01:49 0:01:30 0:00:19 1571k 82 232M 82 192M 0 0 2153k 0 0:01:50 0:01:31 0:00:19 1433k 83 232M 83 194M 0 0 2150k 0 0:01:50 0:01:32 0:00:18 1465k 84 232M 84 196M 0 0 2154k 0 0:01:50 0:01:33 0:00:17 1720k 85 232M 85 199M 0 0 2157k 0 0:01:50 0:01:34 0:00:16 1950k 86 232M 86 201M 0 0 2155k 0 0:01:50 0:01:35 0:00:15 2038k 87 232M 87 203M 0 0 2159k 0 0:01:50 0:01:36 0:00:14 2275k 89 232M 89 206M 0 0 2168k 0 0:01:49 0:01:37 0:00:12 2496k 90 232M 90 209M 0 0 2175k 0 0:01:49 0:01:38 0:00:11 2569k 91 232M 91 212M 0 0 2182k 0 0:01:48 0:01:39 0:00:09 2654k 92 232M 92 214M 0 0 2183k 0 0:01:48 0:01:40 0:00:08 2716k 93 232M 93 216M 0 0 2184k 0 0:01:48 0:01:41 0:00:07 2675k 93 232M 93 217M 0 0 2176k 0 0:01:49 0:01:42 0:00:07 2319k 94 232M 94 219M 0 0 2168k 0 0:01:49 0:01:43 0:00:06 2028k 95 232M 95 221M 0 0 2167k 0 0:01:49 0:01:44 0:00:05 1859k 96 232M 96 223M 0 0 2163k 0 0:01:49 0:01:45 0:00:04 1766k 96 232M 96 224M 0 0 2158k 0 0:01:50 0:01:46 0:00:04 1628k 97 232M 97 226M 0 0 2154k 0 0:01:50 0:01:47 0:00:03 1705k 98 232M 98 228M 0 0 2153k 0 0:01:50 0:01:48 0:00:02 1833k 99 232M 99 230M 0 0 2151k 0 0:01:50 0:01:49 0:00:01 1830k 100 232M 100 232M 0 0 2149k 0 0:01:50 0:01:50 --:--:-- 1848k +info: extracting +RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package +gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 232M 0 1117k 0 0 1964k 0 0:02:00 --:--:-- 0:02:00 $'1964k\r' 1 232M 1 4701k 0 0 3005k 0 0:01:19 0:00:01 0:01:18 $'3006k\r' 3 232M 3 9005k 0 0 3514k 0 0:01:07 0:00:02 0:01:05 $'3515k\r' 5 232M 5 12.2M 0 0 3534k 0 0:01:07 0:00:03 0:01:04 $'3534k\r' 6 232M 6 15.4M 0 0 3468k 0 0:01:08 0:00:04 0:01:04 $'3468k\r' 7 232M 7 18.2M 0 0 3361k 0 0:01:10 0:00:05 0:01:05 $'3520k\r' 8 232M 8 20.2M 0 0 3160k 0 0:01:15 0:00:06 0:01:09 $'3209k\r' 9 232M 9 21.7M 0 0 2942k 0 0:01:20 0:00:07 0:01:13 $'2649k\r' 9 232M 9 23.1M 0 0 2765k 0 0:01:25 0:00:08 0:01:17 $'2217k\r' 10 232M 10 24.9M 0 0 2668k 0 0:01:29 0:00:09 0:01:20 $'1939k\r' 11 232M 11 26.8M 0 0 2606k 0 0:01:31 0:00:10 0:01:21 $'1766k\r' 12 232M 12 29.0M 0 0 2573k 0 0:01:32 0:00:11 0:01:21 $'1802k\r' 13 232M 13 32.0M 0 0 2615k 0 0:01:30 0:00:12 0:01:18 $'2121k\r' 15 232M 15 35.3M 0 0 2671k 0 0:01:28 0:00:13 0:01:15 $'2511k\r' 16 232M 16 38.0M 0 0 2676k 0 0:01:28 0:00:14 0:01:14 $'2691k\r' 17 232M 17 40.5M 0 0 2667k 0 0:01:29 0:00:15 0:01:14 $'2796k\r' 18 232M 18 42.8M 0 0 2647k 0 0:01:29 0:00:16 0:01:13 $'2819k\r' 19 232M 19 45.0M 0 0 2625k 0 0:01:30 0:00:17 0:01:13 $'2649k\r' 20 232M 20 47.4M 0 0 2615k 0 0:01:30 0:00:18 0:01:12 $'2464k\r' 21 232M 21 50.0M 0 0 2618k 0 0:01:30 0:00:19 0:01:11 $'2451k\r' 22 232M 22 52.5M 0 0 2618k 0 0:01:30 0:00:20 0:01:10 $'2464k\r' 23 232M 23 55.6M 0 0 2640k 0 0:01:29 0:00:21 0:01:08 $'2617k\r' 25 232M 25 58.3M 0 0 2647k 0 0:01:29 0:00:22 0:01:07 $'2726k\r' 26 232M 26 60.9M 0 0 2650k 0 0:01:29 0:00:23 0:01:06 $'2777k\r' 27 232M 27 63.5M 0 0 2651k 0 0:01:29 0:00:24 0:01:05 $'2777k\r' 28 232M 28 65.8M 0 0 2637k 0 0:01:30 0:00:25 0:01:05 $'2716k\r' 29 232M 29 68.0M 0 0 2621k 0 0:01:30 0:00:26 0:01:04 $'2540k\r' 30 232M 30 70.2M 0 0 2606k 0 0:01:31 0:00:27 0:01:04 $'2420k\r' 31 232M 31 72.0M 0 0 2582k 0 0:01:31 0:00:28 0:01:03 $'2265k\r' 32 232M 32 74.3M 0 0 2576k 0 0:01:32 0:00:29 0:01:03 $'2208k\r' 32 232M 32 76.2M 0 0 2554k 0 0:01:33 0:00:30 0:01:03 $'2127k\r' 33 232M 33 78.4M 0 0 2544k 0 0:01:33 0:00:31 0:01:02 $'2131k\r' 34 232M 34 81.1M 0 0 2552k 0 0:01:33 0:00:32 0:01:01 $'2253k\r' 36 232M 36 84.4M 0 0 2575k 0 0:01:32 0:00:33 0:00:59 $'2534k\r' 37 232M 37 86.5M 0 0 2563k 0 0:01:32 0:00:34 0:00:58 $'2490k\r' 38 232M 38 88.5M 0 0 2550k 0 0:01:33 0:00:35 0:00:58 $'2528k\r' 38 232M 38 90.0M 0 0 2520k 0 0:01:34 0:00:36 0:00:58 $'2372k\r' 39 232M 39 91.6M 0 0 2499k 0 0:01:35 0:00:37 0:00:58 $'2152k\r' 40 232M 40 93.9M 0 0 2493k 0 0:01:35 0:00:38 0:00:57 $'1945k\r' 41 232M 41 96.7M 0 0 2502k 0 0:01:34 0:00:39 0:00:55 $'2083k\r' 42 232M 42 99.5M 0 0 2513k 0 0:01:34 0:00:40 0:00:54 $'2249k\r' 44 232M 44 102M 0 0 2523k 0 0:01:34 0:00:41 0:00:53 $'2545k\r' 45 232M 45 105M 0 0 2544k 0 0:01:33 0:00:42 0:00:51 $'2884k\r' 46 232M 46 108M 0 0 2550k 0 0:01:33 0:00:43 0:00:50 $'2985k\r' 47 232M 47 110M 0 0 2549k 0 0:01:33 0:00:44 0:00:49 $'2915k\r' 48 232M 48 112M 0 0 2534k 0 0:01:33 0:00:45 0:00:48 $'2710k\r' 49 232M 49 114M 0 0 2509k 0 0:01:34 0:00:46 0:00:48 $'2395k\r' 49 232M 49 115M 0 0 2489k 0 0:01:35 0:00:47 0:00:48 $'2019k\r' 50 232M 50 117M 0 0 2480k 0 0:01:35 0:00:48 0:00:47 $'1872k\r' 51 232M 51 119M 0 0 2470k 0 0:01:36 0:00:49 0:00:47 $'1772k\r' 52 232M 52 121M 0 0 2457k 0 0:01:36 0:00:50 0:00:46 $'1756k\r' 53 232M 53 123M 0 0 2453k 0 0:01:36 0:00:51 0:00:45 $'1931k\r' 54 232M 54 125M 0 0 2450k 0 0:01:36 0:00:52 0:00:44 $'2076k\r' 55 232M 55 127M 0 0 2442k 0 0:01:37 0:00:53 0:00:44 $'2071k\r' 56 232M 56 130M 0 0 2442k 0 0:01:37 0:00:54 0:00:43 $'2157k\r' 56 232M 56 131M 0 0 2430k 0 0:01:37 0:00:55 0:00:42 $'2157k\r' 57 232M 57 133M 0 0 2418k 0 0:01:38 0:00:56 0:00:42 $'2059k\r' 58 232M 58 135M 0 0 2405k 0 0:01:38 0:00:57 0:00:41 $'1932k\r' 58 232M 58 136M 0 0 2392k 0 0:01:39 0:00:58 0:00:41 $'1859k\r' 59 232M 59 138M 0 0 2377k 0 0:01:39 0:00:59 0:00:40 $'1673k\r' 60 232M 60 139M 0 0 2360k 0 0:01:40 0:01:00 0:00:40 $'1573k\r' 61 232M 61 141M 0 0 2354k 0 0:01:40 0:01:01 0:00:39 $'1619k\r' 62 232M 62 143M 0 0 2355k 0 0:01:40 0:01:02 0:00:38 $'1785k\r' 62 232M 62 146M 0 0 2352k 0 0:01:40 0:01:03 0:00:37 $'1879k\r' 63 232M 63 147M 0 0 2347k 0 0:01:41 0:01:04 0:00:37 $'1987k\r' 64 232M 64 150M 0 0 2350k 0 0:01:41 0:01:05 0:00:36 $'2238k\r' 65 232M 65 152M 0 0 2345k 0 0:01:41 0:01:06 0:00:35 $'2242k\r' 66 232M 66 153M 0 0 2327k 0 0:01:42 0:01:07 0:00:35 $'1977k\r' 66 232M 66 155M 0 0 2315k 0 0:01:42 0:01:08 0:00:34 $'1849k\r' 67 232M 67 157M 0 0 2311k 0 0:01:42 0:01:09 0:00:33 $'1846k\r' 68 232M 68 158M 0 0 2307k 0 0:01:42 0:01:10 0:00:32 $'1732k\r' 69 232M 69 160M 0 0 2296k 0 0:01:43 0:01:11 0:00:32 $'1644k\r' 69 232M 69 161M 0 0 2282k 0 0:01:44 0:01:12 0:00:32 $'1674k\r' 70 232M 70 163M 0 0 2269k 0 0:01:44 0:01:13 0:00:31 $'1634k\r' 71 232M 71 164M 0 0 2262k 0 0:01:45 0:01:14 0:00:31 $'1583k\r' 71 232M 71 166M 0 0 2256k 0 0:01:45 0:01:15 0:00:30 $'1545k\r' 72 232M 72 168M 0 0 2253k 0 0:01:45 0:01:16 0:00:29 $'1634k\r' 73 232M 73 170M 0 0 2250k 0 0:01:45 0:01:17 0:00:28 $'1788k\r' 74 232M 74 172M 0 0 2249k 0 0:01:45 0:01:18 0:00:27 $'1961k\r' 75 232M 75 174M 0 0 2242k 0 0:01:45 0:01:19 0:00:26 $'1939k\r' 75 232M 75 175M 0 0 2234k 0 0:01:46 0:01:20 0:00:26 $'1896k\r' 76 232M 76 177M 0 0 2225k 0 0:01:46 0:01:21 0:00:25 $'1789k\r' 77 232M 77 178M 0 0 2217k 0 0:01:47 0:01:22 0:00:25 $'1705k\r' 77 232M 77 180M 0 0 2210k 0 0:01:47 0:01:23 0:00:24 $'1591k\r' 78 232M 78 182M 0 0 2204k 0 0:01:47 0:01:24 0:00:23 $'1601k\r' 79 232M 79 183M 0 0 2196k 0 0:01:48 0:01:25 0:00:23 $'1587k\r' 79 232M 79 185M 0 0 2194k 0 0:01:48 0:01:26 0:00:22 $'1696k\r' 80 232M 80 187M 0 0 2190k 0 0:01:48 0:01:27 0:00:21 $'1734k\r' 81 232M 81 188M 0 0 2179k 0 0:01:49 0:01:28 0:00:21 $'1659k\r' 81 232M 81 189M 0 0 2169k 0 0:01:49 0:01:29 0:00:20 $'1576k\r' 82 232M 82 191M 0 0 2162k 0 0:01:49 0:01:30 0:00:19 $'1571k\r' 82 232M 82 192M 0 0 2153k 0 0:01:50 0:01:31 0:00:19 $'1433k\r' 83 232M 83 194M 0 0 2150k 0 0:01:50 0:01:32 0:00:18 $'1465k\r' 84 232M 84 196M 0 0 2154k 0 0:01:50 0:01:33 0:00:17 $'1720k\r' 85 232M 85 199M 0 0 2157k 0 0:01:50 0:01:34 0:00:16 $'1950k\r' 86 232M 86 201M 0 0 2155k 0 0:01:50 0:01:35 0:00:15 $'2038k\r' 87 232M 87 203M 0 0 2159k 0 0:01:50 0:01:36 0:00:14 $'2275k\r' 89 232M 89 206M 0 0 2168k 0 0:01:49 0:01:37 0:00:12 $'2496k\r' 90 232M 90 209M 0 0 2175k 0 0:01:49 0:01:38 0:00:11 $'2569k\r' 91 232M 91 212M 0 0 2182k 0 0:01:48 0:01:39 0:00:09 $'2654k\r' 92 232M 92 214M 0 0 2183k 0 0:01:48 0:01:40 0:00:08 $'2716k\r' 93 232M 93 216M 0 0 2184k 0 0:01:48 0:01:41 0:00:07 $'2675k\r' 93 232M 93 217M 0 0 2176k 0 0:01:49 0:01:42 0:00:07 $'2319k\r' 94 232M 94 219M 0 0 2168k 0 0:01:49 0:01:43 0:00:06 $'2028k\r' 95 232M 95 221M 0 0 2167k 0 0:01:49 0:01:44 0:00:05 $'1859k\r' 96 232M 96 223M 0 0 2163k 0 0:01:49 0:01:45 0:00:04 $'1766k\r' 96 232M 96 224M 0 0 2158k 0 0:01:50 0:01:46 0:00:04 $'1628k\r' 97 232M 97 226M 0 0 2154k 0 0:01:50 0:01:47 0:00:03 $'1705k\r' 98 232M 98 228M 0 0 2153k 0 0:01:50 0:01:48 0:00:02 $'1833k\r' 99 232M 99 230M 0 0 2151k 0 0:01:50 0:01:49 0:00:01 $'1830k\r100' 232M 100 232M 0 0 2149k 0 0:01:50 0:01:50 --:--:-- 1848k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 232M 0 1117k 0 0 1964k 0 0:02:00 --:--:-- 0:02:00 $'1964k\r' 1 232M 1 4701k 0 0 3005k 0 0:01:19 0:00:01 0:01:18 $'3006k\r' 3 232M 3 9005k 0 0 3514k 0 0:01:07 0:00:02 0:01:05 $'3515k\r' 5 232M 5 12.2M 0 0 3534k 0 0:01:07 0:00:03 0:01:04 $'3534k\r' 6 232M 6 15.4M 0 0 3468k 0 0:01:08 0:00:04 0:01:04 $'3468k\r' 7 232M 7 18.2M 0 0 3361k 0 0:01:10 0:00:05 0:01:05 $'3520k\r' 8 232M 8 20.2M 0 0 3160k 0 0:01:15 0:00:06 0:01:09 $'3209k\r' 9 232M 9 21.7M 0 0 2942k 0 0:01:20 0:00:07 0:01:13 $'2649k\r' 9 232M 9 23.1M 0 0 2765k 0 0:01:25 0:00:08 0:01:17 $'2217k\r' 10 232M 10 24.9M 0 0 2668k 0 0:01:29 0:00:09 0:01:20 $'1939k\r' 11 232M 11 26.8M 0 0 2606k 0 0:01:31 0:00:10 0:01:21 $'1766k\r' 12 232M 12 29.0M 0 0 2573k 0 0:01:32 0:00:11 0:01:21 $'1802k\r' 13 232M 13 32.0M 0 0 2615k 0 0:01:30 0:00:12 0:01:18 $'2121k\r' 15 232M 15 35.3M 0 0 2671k 0 0:01:28 0:00:13 0:01:15 $'2511k\r' 16 232M 16 38.0M 0 0 2676k 0 0:01:28 0:00:14 0:01:14 $'2691k\r' 17 232M 17 40.5M 0 0 2667k 0 0:01:29 0:00:15 0:01:14 $'2796k\r' 18 232M 18 42.8M 0 0 2647k 0 0:01:29 0:00:16 0:01:13 $'2819k\r' 19 232M 19 45.0M 0 0 2625k 0 0:01:30 0:00:17 0:01:13 $'2649k\r' 20 232M 20 47.4M 0 0 2615k 0 0:01:30 0:00:18 0:01:12 $'2464k\r' 21 232M 21 50.0M 0 0 2618k 0 0:01:30 0:00:19 0:01:11 $'2451k\r' 22 232M 22 52.5M 0 0 2618k 0 0:01:30 0:00:20 0:01:10 $'2464k\r' 23 232M 23 55.6M 0 0 2640k 0 0:01:29 0:00:21 0:01:08 $'2617k\r' 25 232M 25 58.3M 0 0 2647k 0 0:01:29 0:00:22 0:01:07 $'2726k\r' 26 232M 26 60.9M 0 0 2650k 0 0:01:29 0:00:23 0:01:06 $'2777k\r' 27 232M 27 63.5M 0 0 2651k 0 0:01:29 0:00:24 0:01:05 $'2777k\r' 28 232M 28 65.8M 0 0 2637k 0 0:01:30 0:00:25 0:01:05 $'2716k\r' 29 232M 29 68.0M 0 0 2621k 0 0:01:30 0:00:26 0:01:04 $'2540k\r' 30 232M 30 70.2M 0 0 2606k 0 0:01:31 0:00:27 0:01:04 $'2420k\r' 31 232M 31 72.0M 0 0 2582k 0 0:01:31 0:00:28 0:01:03 $'2265k\r' 32 232M 32 74.3M 0 0 2576k 0 0:01:32 0:00:29 0:01:03 $'2208k\r' 32 232M 32 76.2M 0 0 2554k 0 0:01:33 0:00:30 0:01:03 $'2127k\r' 33 232M 33 78.4M 0 0 2544k 0 0:01:33 0:00:31 0:01:02 $'2131k\r' 34 232M 34 81.1M 0 0 2552k 0 0:01:33 0:00:32 0:01:01 $'2253k\r' 36 232M 36 84.4M 0 0 2575k 0 0:01:32 0:00:33 0:00:59 $'2534k\r' 37 232M 37 86.5M 0 0 2563k 0 0:01:32 0:00:34 0:00:58 $'2490k\r' 38 232M 38 88.5M 0 0 2550k 0 0:01:33 0:00:35 0:00:58 $'2528k\r' 38 232M 38 90.0M 0 0 2520k 0 0:01:34 0:00:36 0:00:58 $'2372k\r' 39 232M 39 91.6M 0 0 2499k 0 0:01:35 0:00:37 0:00:58 $'2152k\r' 40 232M 40 93.9M 0 0 2493k 0 0:01:35 0:00:38 0:00:57 $'1945k\r' 41 232M 41 96.7M 0 0 2502k 0 0:01:34 0:00:39 0:00:55 $'2083k\r' 42 232M 42 99.5M 0 0 2513k 0 0:01:34 0:00:40 0:00:54 $'2249k\r' 44 232M 44 102M 0 0 2523k 0 0:01:34 0:00:41 0:00:53 $'2545k\r' 45 232M 45 105M 0 0 2544k 0 0:01:33 0:00:42 0:00:51 $'2884k\r' 46 232M 46 108M 0 0 2550k 0 0:01:33 0:00:43 0:00:50 $'2985k\r' 47 232M 47 110M 0 0 2549k 0 0:01:33 0:00:44 0:00:49 $'2915k\r' 48 232M 48 112M 0 0 2534k 0 0:01:33 0:00:45 0:00:48 $'2710k\r' 49 232M 49 114M 0 0 2509k 0 0:01:34 0:00:46 0:00:48 $'2395k\r' 49 232M 49 115M 0 0 2489k 0 0:01:35 0:00:47 0:00:48 $'2019k\r' 50 232M 50 117M 0 0 2480k 0 0:01:35 0:00:48 0:00:47 $'1872k\r' 51 232M 51 119M 0 0 2470k 0 0:01:36 0:00:49 0:00:47 $'1772k\r' 52 232M 52 121M 0 0 2457k 0 0:01:36 0:00:50 0:00:46 $'1756k\r' 53 232M 53 123M 0 0 2453k 0 0:01:36 0:00:51 0:00:45 $'1931k\r' 54 232M 54 125M 0 0 2450k 0 0:01:36 0:00:52 0:00:44 $'2076k\r' 55 232M 55 127M 0 0 2442k 0 0:01:37 0:00:53 0:00:44 $'2071k\r' 56 232M 56 130M 0 0 2442k 0 0:01:37 0:00:54 0:00:43 $'2157k\r' 56 232M 56 131M 0 0 2430k 0 0:01:37 0:00:55 0:00:42 $'2157k\r' 57 232M 57 133M 0 0 2418k 0 0:01:38 0:00:56 0:00:42 $'2059k\r' 58 232M 58 135M 0 0 2405k 0 0:01:38 0:00:57 0:00:41 $'1932k\r' 58 232M 58 136M 0 0 2392k 0 0:01:39 0:00:58 0:00:41 $'1859k\r' 59 232M 59 138M 0 0 2377k 0 0:01:39 0:00:59 0:00:40 $'1673k\r' 60 232M 60 139M 0 0 2360k 0 0:01:40 0:01:00 0:00:40 $'1573k\r' 61 232M 61 141M 0 0 2354k 0 0:01:40 0:01:01 0:00:39 $'1619k\r' 62 232M 62 143M 0 0 2355k 0 0:01:40 0:01:02 0:00:38 $'1785k\r' 62 232M 62 146M 0 0 2352k 0 0:01:40 0:01:03 0:00:37 $'1879k\r' 63 232M 63 147M 0 0 2347k 0 0:01:41 0:01:04 0:00:37 $'1987k\r' 64 232M 64 150M 0 0 2350k 0 0:01:41 0:01:05 0:00:36 $'2238k\r' 65 232M 65 152M 0 0 2345k 0 0:01:41 0:01:06 0:00:35 $'2242k\r' 66 232M 66 153M 0 0 2327k 0 0:01:42 0:01:07 0:00:35 $'1977k\r' 66 232M 66 155M 0 0 2315k 0 0:01:42 0:01:08 0:00:34 $'1849k\r' 67 232M 67 157M 0 0 2311k 0 0:01:42 0:01:09 0:00:33 $'1846k\r' 68 232M 68 158M 0 0 2307k 0 0:01:42 0:01:10 0:00:32 $'1732k\r' 69 232M 69 160M 0 0 2296k 0 0:01:43 0:01:11 0:00:32 $'1644k\r' 69 232M 69 161M 0 0 2282k 0 0:01:44 0:01:12 0:00:32 $'1674k\r' 70 232M 70 163M 0 0 2269k 0 0:01:44 0:01:13 0:00:31 $'1634k\r' 71 232M 71 164M 0 0 2262k 0 0:01:45 0:01:14 0:00:31 $'1583k\r' 71 232M 71 166M 0 0 2256k 0 0:01:45 0:01:15 0:00:30 $'1545k\r' 72 232M 72 168M 0 0 2253k 0 0:01:45 0:01:16 0:00:29 $'1634k\r' 73 232M 73 170M 0 0 2250k 0 0:01:45 0:01:17 0:00:28 $'1788k\r' 74 232M 74 172M 0 0 2249k 0 0:01:45 0:01:18 0:00:27 $'1961k\r' 75 232M 75 174M 0 0 2242k 0 0:01:45 0:01:19 0:00:26 $'1939k\r' 75 232M 75 175M 0 0 2234k 0 0:01:46 0:01:20 0:00:26 $'1896k\r' 76 232M 76 177M 0 0 2225k 0 0:01:46 0:01:21 0:00:25 $'1789k\r' 77 232M 77 178M 0 0 2217k 0 0:01:47 0:01:22 0:00:25 $'1705k\r' 77 232M 77 180M 0 0 2210k 0 0:01:47 0:01:23 0:00:24 $'1591k\r' 78 232M 78 182M 0 0 2204k 0 0:01:47 0:01:24 0:00:23 $'1601k\r' 79 232M 79 183M 0 0 2196k 0 0:01:48 0:01:25 0:00:23 $'1587k\r' 79 232M 79 185M 0 0 2194k 0 0:01:48 0:01:26 0:00:22 $'1696k\r' 80 232M 80 187M 0 0 2190k 0 0:01:48 0:01:27 0:00:21 $'1734k\r' 81 232M 81 188M 0 0 2179k 0 0:01:49 0:01:28 0:00:21 $'1659k\r' 81 232M 81 189M 0 0 2169k 0 0:01:49 0:01:29 0:00:20 $'1576k\r' 82 232M 82 191M 0 0 2162k 0 0:01:49 0:01:30 0:00:19 $'1571k\r' 82 232M 82 192M 0 0 2153k 0 0:01:50 0:01:31 0:00:19 $'1433k\r' 83 232M 83 194M 0 0 2150k 0 0:01:50 0:01:32 0:00:18 $'1465k\r' 84 232M 84 196M 0 0 2154k 0 0:01:50 0:01:33 0:00:17 $'1720k\r' 85 232M 85 199M 0 0 2157k 0 0:01:50 0:01:34 0:00:16 $'1950k\r' 86 232M 86 201M 0 0 2155k 0 0:01:50 0:01:35 0:00:15 $'2038k\r' 87 232M 87 203M 0 0 2159k 0 0:01:50 0:01:36 0:00:14 $'2275k\r' 89 232M 89 206M 0 0 2168k 0 0:01:49 0:01:37 0:00:12 $'2496k\r' 90 232M 90 209M 0 0 2175k 0 0:01:49 0:01:38 0:00:11 $'2569k\r' 91 232M 91 212M 0 0 2182k 0 0:01:48 0:01:39 0:00:09 $'2654k\r' 92 232M 92 214M 0 0 2183k 0 0:01:48 0:01:40 0:00:08 $'2716k\r' 93 232M 93 216M 0 0 2184k 0 0:01:48 0:01:41 0:00:07 $'2675k\r' 93 232M 93 217M 0 0 2176k 0 0:01:49 0:01:42 0:00:07 $'2319k\r' 94 232M 94 219M 0 0 2168k 0 0:01:49 0:01:43 0:00:06 $'2028k\r' 95 232M 95 221M 0 0 2167k 0 0:01:49 0:01:44 0:00:05 $'1859k\r' 96 232M 96 223M 0 0 2163k 0 0:01:49 0:01:45 0:00:04 $'1766k\r' 96 232M 96 224M 0 0 2158k 0 0:01:50 0:01:46 0:00:04 $'1628k\r' 97 232M 97 226M 0 0 2154k 0 0:01:50 0:01:47 0:00:03 $'1705k\r' 98 232M 98 228M 0 0 2153k 0 0:01:50 0:01:48 0:00:02 $'1833k\r' 99 232M 99 230M 0 0 2151k 0 0:01:50 0:01:49 0:00:01 $'1830k\r100' 232M 100 232M 0 0 2149k 0 0:01:50 0:01:50 --:--:-- 1848k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=51d9b330194b9867afb706b7611e02f9293fe3be, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00007fffac390000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fcf855c1000) + libc.so.6 => /lib64/libc.so.6 (0x00007fcf853e3000) + /lib64/ld-linux-x86-64.so.2 (0x00007fcf856d1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d1dca52f0b53dd6d6e1a398fff97bf6a24ed2b6e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00007ffdb7bde000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f9fec191000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9febfb3000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9fec2a9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7671387815a715ccf29413e6ebd2d694ef4fd9ad, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00007ffce8df7000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fb161734000) + libc.so.6 => /lib64/libc.so.6 (0x00007fb161556000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb1618da000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffd84558000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8be4bf5000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8be4ddc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46ec6178fe7407f1c90cd30bb536558171a92e3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffda75ce000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f4e01f84000) + libc.so.6 => /lib64/libc.so.6 (0x00007f4e01da6000) + /lib64/ld-linux-x86-64.so.2 (0x00007f4e0209c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=240b045dd7361e3c4bc5007cc8a3498c2d283408, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffe9fff8000) + libc.so.6 => /lib64/libc.so.6 (0x00007fcdc8c7a000) + /lib64/ld-linux-x86-64.so.2 (0x00007fcdc8e61000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=33d699b0253e2c2bb40e6cfd086bc66a59d99e2c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffea1ba2000) + libc.so.6 => /lib64/libc.so.6 (0x00007f3755d16000) + /lib64/ld-linux-x86-64.so.2 (0x00007f3755f09000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00007fff907f2000) + libc.so.6 => /lib64/libc.so.6 (0x00007f2b15509000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2b156f0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffe8335c000) + libc.so.6 => /lib64/libc.so.6 (0x00007fd961950000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd961b37000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00007ffd2a1de000) + libc.so.6 => /lib64/libc.so.6 (0x00007f464f509000) + /lib64/ld-linux-x86-64.so.2 (0x00007f464f6f0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93fc5f76c74612a9d0ce7afbc1cd9e42d09dcf1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffdb993e000) + libc.so.6 => /lib64/libc.so.6 (0x00007f5917bf0000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5917dd7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1b7ab8553679997bbad242148fd744e0431b0318, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffc5a10a000) + libc.so.6 => /lib64/libc.so.6 (0x00007fb76292e000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb762b15000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9b9816acb73f92f5a898ec65ca3d74a90d820a84, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffe883e0000) + libc.so.6 => /lib64/libc.so.6 (0x00007fecca273000) + /lib64/ld-linux-x86-64.so.2 (0x00007fecca45a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e57b5d44de252010151d77f4323ad763e9523ce3, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffe40ff6000) + libc.so.6 => /lib64/libc.so.6 (0x00007f160a8a5000) + /lib64/ld-linux-x86-64.so.2 (0x00007f160aa8c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b1fd99fe236a5513419295efe1dd3fe7d738f228, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffd5a3fe000) + libc.so.6 => /lib64/libc.so.6 (0x00007f5ca25c9000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5ca27b0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6160a5965fccd5c42347d644843e1dd0b94418ae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffe3ef8d000) + libc.so.6 => /lib64/libc.so.6 (0x00007f1528667000) + /lib64/ld-linux-x86-64.so.2 (0x00007f152884e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f27038640ed4ca1647aceff925831111b4de5e1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) + linux-vdso.so.1 (0x00007ffe36936000) + libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007f0e6a78e000) + libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f0e6a75b000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f0e6a756000) + liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f0e6a723000) + libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f0e69800000) + libm.so.6 => /lib64/libm.so.6 (0x00007f0e6a642000) + libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f0e6a61c000) + libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0e6a617000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0e69622000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0e6a7d6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) ++ '[' 0x = 0x ']' ++ LOG_WARN 'Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' ++ message='Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' +Wed Apr 10 02:45:14 2024 - WARN - Found extra message in ldd riscv64-unknown-linux-gnu-gdb output ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bba2a4aa398576037d78bd7f2d67d84183ca7474, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffdd87fa000) + libc.so.6 => /lib64/libc.so.6 (0x00007f846a907000) + /lib64/ld-linux-x86-64.so.2 (0x00007f846aaee000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=81368607ab7d7e9fc93c70c1a5085ca8cf7d2551, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffe2cd94000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f14c5e7e000) + libc.so.6 => /lib64/libc.so.6 (0x00007f14c5ca0000) + /lib64/ld-linux-x86-64.so.2 (0x00007f14c5f9f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00007ffd408d3000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f8bf708f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8bf6a22000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8bf709d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffd11bba000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fdc46d6e000) + libc.so.6 => /lib64/libc.so.6 (0x00007fdc46822000) + /lib64/ld-linux-x86-64.so.2 (0x00007fdc46d7c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=07e0cdeb46eb6749e40f39f886240ec56b077414, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffc54693000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f801d52c000) + libm.so.6 => /lib64/libm.so.6 (0x00007f801d44b000) + libc.so.6 => /lib64/libc.so.6 (0x00007f801d26d000) + /lib64/ld-linux-x86-64.so.2 (0x00007f801d53a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7dc2121143a8baa649992b794106a7e3e33d025c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00007ffc50785000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f9b9065d000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9b9047f000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9b90771000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=25a334917a579d527a1d3c7d5f1d986453d61b03, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffd39061000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6e906c1000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6e904e3000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6e907f5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3791c1a2ba627af0f6c6dd2e87ae4a7ea7418f23, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffca17c6000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f1fb009f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f1fafec1000) + /lib64/ld-linux-x86-64.so.2 (0x00007f1fb0284000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=86b327b66ff5317f621853e5dc663a194ab1c964, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00007fff56793000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fcae3b15000) + libc.so.6 => /lib64/libc.so.6 (0x00007fcae3937000) + /lib64/ld-linux-x86-64.so.2 (0x00007fcae3c2d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=94b11b905c3c381dda1f368cf17dea43ae3a4654, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00007ffd5d5ef000) + libc.so.6 => /lib64/libc.so.6 (0x00007f2d2d017000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2d2d2fd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9fe6ce808fc54654b1ba0be4f8161de2f6cd2abf, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00007fff22be8000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f07b7727000) + libc.so.6 => /lib64/libc.so.6 (0x00007f07b7549000) + /lib64/ld-linux-x86-64.so.2 (0x00007f07b7838000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=adfc3905c2628c9867e65a37ef119cfdbe73cf89, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00007ffc7d7d7000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f95a99de000) + libc.so.6 => /lib64/libc.so.6 (0x00007f95a9800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f95a9aef000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3c95f10b97c64370dca4b055b3c48aed500f13b6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00007fffac776000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fe083e77000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe083c99000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe083fab000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 580k 0 0 1041k 0 0:06:32 --:--:-- 0:06:32 1041k 0 398M 0 4036k 0 0 2595k 0 0:02:37 0:00:01 0:02:36 2594k 2 398M 2 8196k 0 0 3206k 0 0:02:07 0:00:02 0:02:05 3206k 2 398M 2 11.5M 0 0 3318k 0 0:02:03 0:00:03 0:02:00 3318k 3 398M 3 15.2M 0 0 3422k 0 0:01:59 0:00:04 0:01:55 3421k 4 398M 4 18.4M 0 0 3401k 0 0:02:00 0:00:05 0:01:55 3664k 5 398M 5 21.0M 0 0 3288k 0 0:02:04 0:00:06 0:01:58 3503k 5 398M 5 23.4M 0 0 3176k 0 0:02:08 0:00:07 0:02:01 3161k 6 398M 6 25.9M 0 0 3101k 0 0:02:11 0:00:08 0:02:03 2947k 7 398M 7 28.3M 0 0 3037k 0 0:02:14 0:00:09 0:02:05 2686k 7 398M 7 30.5M 0 0 2960k 0 0:02:17 0:00:10 0:02:07 2470k 8 398M 8 32.7M 0 0 2905k 0 0:02:20 0:00:11 0:02:09 2403k 8 398M 8 35.1M 0 0 2868k 0 0:02:22 0:00:12 0:02:10 2403k 9 398M 9 37.9M 0 0 2863k 0 0:02:22 0:00:13 0:02:09 2457k 10 398M 10 40.0M 0 0 2819k 0 0:02:24 0:00:14 0:02:10 2404k 10 398M 10 42.4M 0 0 2792k 0 0:02:26 0:00:15 0:02:11 2438k 11 398M 11 45.0M 0 0 2784k 0 0:02:26 0:00:16 0:02:10 2505k 11 398M 11 47.5M 0 0 2773k 0 0:02:27 0:00:17 0:02:10 2534k 12 398M 12 50.5M 0 0 2788k 0 0:02:26 0:00:18 0:02:08 2582k 13 398M 13 54.0M 0 0 2829k 0 0:02:24 0:00:19 0:02:05 2857k 14 398M 14 56.7M 0 0 2828k 0 0:02:24 0:00:20 0:02:04 2937k 14 398M 14 58.7M 0 0 2790k 0 0:02:26 0:00:21 0:02:05 2809k 15 398M 15 60.6M 0 0 2753k 0 0:02:28 0:00:22 0:02:06 2681k 15 398M 15 62.3M 0 0 2707k 0 0:02:30 0:00:23 0:02:07 2410k 15 398M 15 63.6M 0 0 2652k 0 0:02:33 0:00:24 0:02:09 1960k 16 398M 16 64.9M 0 0 2602k 0 0:02:36 0:00:25 0:02:11 1676k 16 398M 16 66.5M 0 0 2564k 0 0:02:39 0:00:26 0:02:13 1590k 17 398M 17 68.1M 0 0 2529k 0 0:02:41 0:00:27 0:02:14 1523k 17 398M 17 69.4M 0 0 2489k 0 0:02:44 0:00:28 0:02:16 1454k 17 398M 17 70.9M 0 0 2459k 0 0:02:46 0:00:29 0:02:17 1511k 18 398M 18 72.7M 0 0 2437k 0 0:02:47 0:00:30 0:02:17 1593k 18 398M 18 74.5M 0 0 2419k 0 0:02:48 0:00:31 0:02:17 1651k 19 398M 19 76.6M 0 0 2410k 0 0:02:49 0:00:32 0:02:17 1754k 19 398M 19 79.2M 0 0 2417k 0 0:02:48 0:00:33 0:02:15 2003k 20 398M 20 81.5M 0 0 2416k 0 0:02:48 0:00:34 0:02:14 2160k 20 398M 20 83.2M 0 0 2397k 0 0:02:50 0:00:35 0:02:15 2153k 21 398M 21 85.0M 0 0 2383k 0 0:02:51 0:00:36 0:02:15 2156k 21 398M 21 86.7M 0 0 2365k 0 0:02:52 0:00:37 0:02:15 2067k 22 398M 22 88.1M 0 0 2341k 0 0:02:54 0:00:38 0:02:16 1836k 22 398M 22 90.2M 0 0 2336k 0 0:02:54 0:00:39 0:02:15 1788k 23 398M 23 92.6M 0 0 2340k 0 0:02:54 0:00:40 0:02:14 1929k 23 398M 23 94.8M 0 0 2336k 0 0:02:54 0:00:41 0:02:13 1990k 24 398M 24 96.9M 0 0 2331k 0 0:02:55 0:00:42 0:02:13 2082k 24 398M 24 98.8M 0 0 2323k 0 0:02:55 0:00:43 0:02:12 2185k 25 398M 25 100M 0 0 2312k 0 0:02:56 0:00:44 0:02:12 2115k 25 398M 25 101M 0 0 2283k 0 0:02:58 0:00:45 0:02:13 1822k 25 398M 25 102M 0 0 2252k 0 0:03:01 0:00:46 0:02:15 1553k 25 398M 25 103M 0 0 2218k 0 0:03:04 0:00:47 0:02:17 1257k 26 398M 26 103M 0 0 2188k 0 0:03:06 0:00:48 0:02:18 1007k 26 398M 26 104M 0 0 2151k 0 0:03:09 0:00:49 0:02:20 726k 26 398M 26 104M 0 0 2114k 0 0:03:13 0:00:50 0:02:23 572k 26 398M 26 104M 0 0 2075k 0 0:03:16 0:00:51 0:02:25 438k 26 398M 26 104M 0 0 2037k 0 0:03:20 0:00:52 0:02:28 321k 26 398M 26 104M 0 0 2000k 0 0:03:24 0:00:53 0:02:31 184k 26 398M 26 104M 0 0 1965k 0 0:03:27 0:00:54 0:02:33 121k 26 398M 26 104M 0 0 1932k 0 0:03:31 0:00:55 0:02:36 99k 26 398M 26 104M 0 0 1898k 0 0:03:35 0:00:56 0:02:39 72075 26 398M 26 104M 0 0 1866k 0 0:03:38 0:00:57 0:02:41 68919 26 398M 26 105M 0 0 1835k 0 0:03:42 0:00:58 0:02:44 72118 26 398M 26 105M 0 0 1806k 0 0:03:46 0:00:59 0:02:47 65588 26 398M 26 105M 0 0 1777k 0 0:03:49 0:01:00 0:02:49 71616 26 398M 26 105M 0 0 1749k 0 0:03:53 0:01:01 0:02:52 84436 26 398M 26 105M 0 0 1724k 0 0:03:56 0:01:02 0:02:54 97717 26 398M 26 105M 0 0 1698k 0 0:04:00 0:01:03 0:02:57 91989 26 398M 26 105M 0 0 1673k 0 0:04:04 0:01:04 0:03:00 91897 26 398M 26 105M 0 0 1649k 0 0:04:07 0:01:05 0:03:02 79165 26 398M 26 105M 0 0 1625k 0 0:04:11 0:01:06 0:03:05 66601 26 398M 26 105M 0 0 1602k 0 0:04:14 0:01:07 0:03:07 69413 26 398M 26 105M 0 0 1581k 0 0:04:18 0:01:08 0:03:10 88512 26 398M 26 105M 0 0 1559k 0 0:04:21 0:01:09 0:03:12 98k 26 398M 26 106M 0 0 1539k 0 0:04:25 0:01:10 0:03:15 105k 26 398M 26 106M 0 0 1519k 0 0:04:28 0:01:11 0:03:17 114k 26 398M 26 106M 0 0 1499k 0 0:04:32 0:01:12 0:03:20 102k 26 398M 26 106M 0 0 1479k 0 0:04:36 0:01:13 0:03:23 88099 26 398M 26 106M 0 0 1460k 0 0:04:39 0:01:14 0:03:25 72437 26 398M 26 106M 0 0 1441k 0 0:04:43 0:01:15 0:03:28 58794 26 398M 26 106M 0 0 1424k 0 0:04:46 0:01:16 0:03:30 59302 26 398M 26 106M 0 0 1406k 0 0:04:50 0:01:17 0:03:33 58994 26 398M 26 106M 0 0 1389k 0 0:04:53 0:01:18 0:03:35 65614 26 398M 26 106M 0 0 1373k 0 0:04:57 0:01:19 0:03:38 78470 26 398M 26 106M 0 0 1355k 0 0:05:01 0:01:20 0:03:41 87145 26 398M 26 106M 0 0 1341k 0 0:05:04 0:01:21 0:03:43 81883 26 398M 26 106M 0 0 1326k 0 0:05:07 0:01:22 0:03:45 91312 26 398M 26 107M 0 0 1312k 0 0:05:11 0:01:23 0:03:48 95469 26 398M 26 107M 0 0 1300k 0 0:05:13 0:01:24 0:03:49 144k 27 398M 27 108M 0 0 1297k 0 0:05:14 0:01:25 0:03:49 333k 27 398M 27 109M 0 0 1301k 0 0:05:13 0:01:26 0:03:47 640k 28 398M 28 111M 0 0 1309k 0 0:05:11 0:01:27 0:03:44 1034k 28 398M 28 114M 0 0 1324k 0 0:05:08 0:01:28 0:03:40 1536k 29 398M 29 116M 0 0 1336k 0 0:05:05 0:01:29 0:03:36 1939k 29 398M 29 119M 0 0 1350k 0 0:05:02 0:01:30 0:03:32 2268k 30 398M 30 121M 0 0 1363k 0 0:04:59 0:01:31 0:03:28 2435k 31 398M 31 123M 0 0 1371k 0 0:04:57 0:01:32 0:03:25 2454k 31 398M 31 126M 0 0 1385k 0 0:04:54 0:01:33 0:03:21 2464k 32 398M 32 128M 0 0 1395k 0 0:04:52 0:01:34 0:03:18 2451k 32 398M 32 131M 0 0 1404k 0 0:04:50 0:01:35 0:03:15 2364k 33 398M 33 133M 0 0 1419k 0 0:04:47 0:01:36 0:03:11 2451k 34 398M 34 136M 0 0 1431k 0 0:04:45 0:01:37 0:03:08 2531k 34 398M 34 138M 0 0 1437k 0 0:04:44 0:01:38 0:03:06 2405k 35 398M 35 140M 0 0 1444k 0 0:04:42 0:01:39 0:03:03 2383k 35 398M 35 142M 0 0 1453k 0 0:04:40 0:01:40 0:03:00 2393k 36 398M 36 145M 0 0 1466k 0 0:04:38 0:01:41 0:02:57 2377k 37 398M 37 148M 0 0 1480k 0 0:04:35 0:01:42 0:02:53 2437k 37 398M 37 150M 0 0 1485k 0 0:04:34 0:01:43 0:02:51 2436k 38 398M 38 152M 0 0 1497k 0 0:04:32 0:01:44 0:02:48 2538k 38 398M 38 154M 0 0 1498k 0 0:04:32 0:01:45 0:02:47 2399k 39 398M 39 156M 0 0 1506k 0 0:04:31 0:01:46 0:02:45 2316k 40 398M 40 159M 0 0 1521k 0 0:04:28 0:01:47 0:02:41 2362k 40 398M 40 163M 0 0 1538k 0 0:04:25 0:01:48 0:02:37 2636k 41 398M 41 166M 0 0 1560k 0 0:04:21 0:01:49 0:02:32 2883k 42 398M 42 170M 0 0 1581k 0 0:04:18 0:01:50 0:02:28 3351k 43 398M 43 174M 0 0 1603k 0 0:04:14 0:01:51 0:02:23 3680k 44 398M 44 178M 0 0 1621k 0 0:04:11 0:01:52 0:02:19 3772k 45 398M 45 181M 0 0 1637k 0 0:04:09 0:01:53 0:02:16 3790k 46 398M 46 184M 0 0 1650k 0 0:04:07 0:01:54 0:02:13 3628k 47 398M 47 188M 0 0 1666k 0 0:04:04 0:01:55 0:02:09 3549k 48 398M 48 191M 0 0 1684k 0 0:04:02 0:01:56 0:02:06 3491k 49 398M 49 195M 0 0 1703k 0 0:03:59 0:01:57 0:02:02 3555k 50 398M 50 199M 0 0 1724k 0 0:03:56 0:01:58 0:01:58 3696k 51 398M 51 203M 0 0 1746k 0 0:03:53 0:01:59 0:01:54 3932k 52 398M 52 207M 0 0 1764k 0 0:03:51 0:02:00 0:01:51 4009k 53 398M 53 211M 0 0 1785k 0 0:03:48 0:02:01 0:01:47 4134k 54 398M 54 216M 0 0 1808k 0 0:03:45 0:02:02 0:01:43 4284k 55 398M 55 221M 0 0 1835k 0 0:03:42 0:02:03 0:01:39 4454k 56 398M 56 225M 0 0 1857k 0 0:03:39 0:02:04 0:01:35 4515k 57 398M 57 230M 0 0 1881k 0 0:03:37 0:02:05 0:01:32 4710k 59 398M 59 235M 0 0 1908k 0 0:03:33 0:02:06 0:01:27 4899k 60 398M 60 241M 0 0 1938k 0 0:03:30 0:02:07 0:01:23 5107k 61 398M 61 246M 0 0 1962k 0 0:03:28 0:02:08 0:01:20 5100k 62 398M 62 250M 0 0 1980k 0 0:03:26 0:02:09 0:01:17 5039k 63 398M 63 254M 0 0 1998k 0 0:03:24 0:02:10 0:01:14 4940k 65 398M 65 259M 0 0 2019k 0 0:03:22 0:02:11 0:01:11 4835k 66 398M 66 264M 0 0 2045k 0 0:03:19 0:02:12 0:01:07 4793k 67 398M 67 269M 0 0 2066k 0 0:03:17 0:02:13 0:01:04 4748k 68 398M 68 274M 0 0 2087k 0 0:03:15 0:02:14 0:01:01 4877k 70 398M 70 279M 0 0 2112k 0 0:03:13 0:02:15 0:00:58 5071k 71 398M 71 283M 0 0 2129k 0 0:03:11 0:02:16 0:00:55 5008k 72 398M 72 288M 0 0 2148k 0 0:03:10 0:02:17 0:00:53 4875k 73 398M 73 293M 0 0 2170k 0 0:03:08 0:02:18 0:00:50 4953k 74 398M 74 298M 0 0 2189k 0 0:03:06 0:02:19 0:00:47 4934k 76 398M 76 303M 0 0 2212k 0 0:03:04 0:02:20 0:00:44 4931k 77 398M 77 308M 0 0 2228k 0 0:03:03 0:02:21 0:00:42 4949k 78 398M 78 312M 0 0 2243k 0 0:03:02 0:02:22 0:00:40 4851k 79 398M 79 317M 0 0 2262k 0 0:03:00 0:02:23 0:00:37 4812k 80 398M 80 322M 0 0 2284k 0 0:02:58 0:02:24 0:00:34 4924k 82 398M 82 328M 0 0 2308k 0 0:02:56 0:02:25 0:00:31 5027k 83 398M 83 334M 0 0 2337k 0 0:02:54 0:02:26 0:00:28 5399k 85 398M 85 341M 0 0 2369k 0 0:02:52 0:02:27 0:00:25 5955k 87 398M 87 348M 0 0 2403k 0 0:02:49 0:02:28 0:00:21 6448k 89 398M 89 355M 0 0 2436k 0 0:02:47 0:02:29 0:00:18 6831k 91 398M 91 362M 0 0 2468k 0 0:02:45 0:02:30 0:00:15 7123k 92 398M 92 369M 0 0 2496k 0 0:02:43 0:02:31 0:00:12 7161k 94 398M 94 375M 0 0 2522k 0 0:02:41 0:02:32 0:00:09 7056k 95 398M 95 382M 0 0 2550k 0 0:02:40 0:02:33 0:00:07 6918k 97 398M 97 389M 0 0 2579k 0 0:02:38 0:02:34 0:00:04 6867k 99 398M 99 396M 0 0 2610k 0 0:02:36 0:02:35 0:00:01 6889k 100 398M 100 398M 0 0 2620k 0 0:02:35 0:02:35 --:--:-- 7030k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 580k 0 0 1041k 0 0:06:32 --:--:-- 0:06:32 $'1041k\r' 0 398M 0 4036k 0 0 2595k 0 0:02:37 0:00:01 0:02:36 $'2594k\r' 2 398M 2 8196k 0 0 3206k 0 0:02:07 0:00:02 0:02:05 $'3206k\r' 2 398M 2 11.5M 0 0 3318k 0 0:02:03 0:00:03 0:02:00 $'3318k\r' 3 398M 3 15.2M 0 0 3422k 0 0:01:59 0:00:04 0:01:55 $'3421k\r' 4 398M 4 18.4M 0 0 3401k 0 0:02:00 0:00:05 0:01:55 $'3664k\r' 5 398M 5 21.0M 0 0 3288k 0 0:02:04 0:00:06 0:01:58 $'3503k\r' 5 398M 5 23.4M 0 0 3176k 0 0:02:08 0:00:07 0:02:01 $'3161k\r' 6 398M 6 25.9M 0 0 3101k 0 0:02:11 0:00:08 0:02:03 $'2947k\r' 7 398M 7 28.3M 0 0 3037k 0 0:02:14 0:00:09 0:02:05 $'2686k\r' 7 398M 7 30.5M 0 0 2960k 0 0:02:17 0:00:10 0:02:07 $'2470k\r' 8 398M 8 32.7M 0 0 2905k 0 0:02:20 0:00:11 0:02:09 $'2403k\r' 8 398M 8 35.1M 0 0 2868k 0 0:02:22 0:00:12 0:02:10 $'2403k\r' 9 398M 9 37.9M 0 0 2863k 0 0:02:22 0:00:13 0:02:09 $'2457k\r' 10 398M 10 40.0M 0 0 2819k 0 0:02:24 0:00:14 0:02:10 $'2404k\r' 10 398M 10 42.4M 0 0 2792k 0 0:02:26 0:00:15 0:02:11 $'2438k\r' 11 398M 11 45.0M 0 0 2784k 0 0:02:26 0:00:16 0:02:10 $'2505k\r' 11 398M 11 47.5M 0 0 2773k 0 0:02:27 0:00:17 0:02:10 $'2534k\r' 12 398M 12 50.5M 0 0 2788k 0 0:02:26 0:00:18 0:02:08 $'2582k\r' 13 398M 13 54.0M 0 0 2829k 0 0:02:24 0:00:19 0:02:05 $'2857k\r' 14 398M 14 56.7M 0 0 2828k 0 0:02:24 0:00:20 0:02:04 $'2937k\r' 14 398M 14 58.7M 0 0 2790k 0 0:02:26 0:00:21 0:02:05 $'2809k\r' 15 398M 15 60.6M 0 0 2753k 0 0:02:28 0:00:22 0:02:06 $'2681k\r' 15 398M 15 62.3M 0 0 2707k 0 0:02:30 0:00:23 0:02:07 $'2410k\r' 15 398M 15 63.6M 0 0 2652k 0 0:02:33 0:00:24 0:02:09 $'1960k\r' 16 398M 16 64.9M 0 0 2602k 0 0:02:36 0:00:25 0:02:11 $'1676k\r' 16 398M 16 66.5M 0 0 2564k 0 0:02:39 0:00:26 0:02:13 $'1590k\r' 17 398M 17 68.1M 0 0 2529k 0 0:02:41 0:00:27 0:02:14 $'1523k\r' 17 398M 17 69.4M 0 0 2489k 0 0:02:44 0:00:28 0:02:16 $'1454k\r' 17 398M 17 70.9M 0 0 2459k 0 0:02:46 0:00:29 0:02:17 $'1511k\r' 18 398M 18 72.7M 0 0 2437k 0 0:02:47 0:00:30 0:02:17 $'1593k\r' 18 398M 18 74.5M 0 0 2419k 0 0:02:48 0:00:31 0:02:17 $'1651k\r' 19 398M 19 76.6M 0 0 2410k 0 0:02:49 0:00:32 0:02:17 $'1754k\r' 19 398M 19 79.2M 0 0 2417k 0 0:02:48 0:00:33 0:02:15 $'2003k\r' 20 398M 20 81.5M 0 0 2416k 0 0:02:48 0:00:34 0:02:14 $'2160k\r' 20 398M 20 83.2M 0 0 2397k 0 0:02:50 0:00:35 0:02:15 $'2153k\r' 21 398M 21 85.0M 0 0 2383k 0 0:02:51 0:00:36 0:02:15 $'2156k\r' 21 398M 21 86.7M 0 0 2365k 0 0:02:52 0:00:37 0:02:15 $'2067k\r' 22 398M 22 88.1M 0 0 2341k 0 0:02:54 0:00:38 0:02:16 $'1836k\r' 22 398M 22 90.2M 0 0 2336k 0 0:02:54 0:00:39 0:02:15 $'1788k\r' 23 398M 23 92.6M 0 0 2340k 0 0:02:54 0:00:40 0:02:14 $'1929k\r' 23 398M 23 94.8M 0 0 2336k 0 0:02:54 0:00:41 0:02:13 $'1990k\r' 24 398M 24 96.9M 0 0 2331k 0 0:02:55 0:00:42 0:02:13 $'2082k\r' 24 398M 24 98.8M 0 0 2323k 0 0:02:55 0:00:43 0:02:12 $'2185k\r' 25 398M 25 100M 0 0 2312k 0 0:02:56 0:00:44 0:02:12 $'2115k\r' 25 398M 25 101M 0 0 2283k 0 0:02:58 0:00:45 0:02:13 $'1822k\r' 25 398M 25 102M 0 0 2252k 0 0:03:01 0:00:46 0:02:15 $'1553k\r' 25 398M 25 103M 0 0 2218k 0 0:03:04 0:00:47 0:02:17 $'1257k\r' 26 398M 26 103M 0 0 2188k 0 0:03:06 0:00:48 0:02:18 $'1007k\r' 26 398M 26 104M 0 0 2151k 0 0:03:09 0:00:49 0:02:20 $'726k\r' 26 398M 26 104M 0 0 2114k 0 0:03:13 0:00:50 0:02:23 $'572k\r' 26 398M 26 104M 0 0 2075k 0 0:03:16 0:00:51 0:02:25 $'438k\r' 26 398M 26 104M 0 0 2037k 0 0:03:20 0:00:52 0:02:28 $'321k\r' 26 398M 26 104M 0 0 2000k 0 0:03:24 0:00:53 0:02:31 $'184k\r' 26 398M 26 104M 0 0 1965k 0 0:03:27 0:00:54 0:02:33 $'121k\r' 26 398M 26 104M 0 0 1932k 0 0:03:31 0:00:55 0:02:36 $'99k\r' 26 398M 26 104M 0 0 1898k 0 0:03:35 0:00:56 0:02:39 $'72075\r' 26 398M 26 104M 0 0 1866k 0 0:03:38 0:00:57 0:02:41 $'68919\r' 26 398M 26 105M 0 0 1835k 0 0:03:42 0:00:58 0:02:44 $'72118\r' 26 398M 26 105M 0 0 1806k 0 0:03:46 0:00:59 0:02:47 $'65588\r' 26 398M 26 105M 0 0 1777k 0 0:03:49 0:01:00 0:02:49 $'71616\r' 26 398M 26 105M 0 0 1749k 0 0:03:53 0:01:01 0:02:52 $'84436\r' 26 398M 26 105M 0 0 1724k 0 0:03:56 0:01:02 0:02:54 $'97717\r' 26 398M 26 105M 0 0 1698k 0 0:04:00 0:01:03 0:02:57 $'91989\r' 26 398M 26 105M 0 0 1673k 0 0:04:04 0:01:04 0:03:00 $'91897\r' 26 398M 26 105M 0 0 1649k 0 0:04:07 0:01:05 0:03:02 $'79165\r' 26 398M 26 105M 0 0 1625k 0 0:04:11 0:01:06 0:03:05 $'66601\r' 26 398M 26 105M 0 0 1602k 0 0:04:14 0:01:07 0:03:07 $'69413\r' 26 398M 26 105M 0 0 1581k 0 0:04:18 0:01:08 0:03:10 $'88512\r' 26 398M 26 105M 0 0 1559k 0 0:04:21 0:01:09 0:03:12 $'98k\r' 26 398M 26 106M 0 0 1539k 0 0:04:25 0:01:10 0:03:15 $'105k\r' 26 398M 26 106M 0 0 1519k 0 0:04:28 0:01:11 0:03:17 $'114k\r' 26 398M 26 106M 0 0 1499k 0 0:04:32 0:01:12 0:03:20 $'102k\r' 26 398M 26 106M 0 0 1479k 0 0:04:36 0:01:13 0:03:23 $'88099\r' 26 398M 26 106M 0 0 1460k 0 0:04:39 0:01:14 0:03:25 $'72437\r' 26 398M 26 106M 0 0 1441k 0 0:04:43 0:01:15 0:03:28 $'58794\r' 26 398M 26 106M 0 0 1424k 0 0:04:46 0:01:16 0:03:30 $'59302\r' 26 398M 26 106M 0 0 1406k 0 0:04:50 0:01:17 0:03:33 $'58994\r' 26 398M 26 106M 0 0 1389k 0 0:04:53 0:01:18 0:03:35 $'65614\r' 26 398M 26 106M 0 0 1373k 0 0:04:57 0:01:19 0:03:38 $'78470\r' 26 398M 26 106M 0 0 1355k 0 0:05:01 0:01:20 0:03:41 $'87145\r' 26 398M 26 106M 0 0 1341k 0 0:05:04 0:01:21 0:03:43 $'81883\r' 26 398M 26 106M 0 0 1326k 0 0:05:07 0:01:22 0:03:45 $'91312\r' 26 398M 26 107M 0 0 1312k 0 0:05:11 0:01:23 0:03:48 $'95469\r' 26 398M 26 107M 0 0 1300k 0 0:05:13 0:01:24 0:03:49 $'144k\r' 27 398M 27 108M 0 0 1297k 0 0:05:14 0:01:25 0:03:49 $'333k\r' 27 398M 27 109M 0 0 1301k 0 0:05:13 0:01:26 0:03:47 $'640k\r' 28 398M 28 111M 0 0 1309k 0 0:05:11 0:01:27 0:03:44 $'1034k\r' 28 398M 28 114M 0 0 1324k 0 0:05:08 0:01:28 0:03:40 $'1536k\r' 29 398M 29 116M 0 0 1336k 0 0:05:05 0:01:29 0:03:36 $'1939k\r' 29 398M 29 119M 0 0 1350k 0 0:05:02 0:01:30 0:03:32 $'2268k\r' 30 398M 30 121M 0 0 1363k 0 0:04:59 0:01:31 0:03:28 $'2435k\r' 31 398M 31 123M 0 0 1371k 0 0:04:57 0:01:32 0:03:25 $'2454k\r' 31 398M 31 126M 0 0 1385k 0 0:04:54 0:01:33 0:03:21 $'2464k\r' 32 398M 32 128M 0 0 1395k 0 0:04:52 0:01:34 0:03:18 $'2451k\r' 32 398M 32 131M 0 0 1404k 0 0:04:50 0:01:35 0:03:15 $'2364k\r' 33 398M 33 133M 0 0 1419k 0 0:04:47 0:01:36 0:03:11 $'2451k\r' 34 398M 34 136M 0 0 1431k 0 0:04:45 0:01:37 0:03:08 $'2531k\r' 34 398M 34 138M 0 0 1437k 0 0:04:44 0:01:38 0:03:06 $'2405k\r' 35 398M 35 140M 0 0 1444k 0 0:04:42 0:01:39 0:03:03 $'2383k\r' 35 398M 35 142M 0 0 1453k 0 0:04:40 0:01:40 0:03:00 $'2393k\r' 36 398M 36 145M 0 0 1466k 0 0:04:38 0:01:41 0:02:57 $'2377k\r' 37 398M 37 148M 0 0 1480k 0 0:04:35 0:01:42 0:02:53 $'2437k\r' 37 398M 37 150M 0 0 1485k 0 0:04:34 0:01:43 0:02:51 $'2436k\r' 38 398M 38 152M 0 0 1497k 0 0:04:32 0:01:44 0:02:48 $'2538k\r' 38 398M 38 154M 0 0 1498k 0 0:04:32 0:01:45 0:02:47 $'2399k\r' 39 398M 39 156M 0 0 1506k 0 0:04:31 0:01:46 0:02:45 $'2316k\r' 40 398M 40 159M 0 0 1521k 0 0:04:28 0:01:47 0:02:41 $'2362k\r' 40 398M 40 163M 0 0 1538k 0 0:04:25 0:01:48 0:02:37 $'2636k\r' 41 398M 41 166M 0 0 1560k 0 0:04:21 0:01:49 0:02:32 $'2883k\r' 42 398M 42 170M 0 0 1581k 0 0:04:18 0:01:50 0:02:28 $'3351k\r' 43 398M 43 174M 0 0 1603k 0 0:04:14 0:01:51 0:02:23 $'3680k\r' 44 398M 44 178M 0 0 1621k 0 0:04:11 0:01:52 0:02:19 $'3772k\r' 45 398M 45 181M 0 0 1637k 0 0:04:09 0:01:53 0:02:16 $'3790k\r' 46 398M 46 184M 0 0 1650k 0 0:04:07 0:01:54 0:02:13 $'3628k\r' 47 398M 47 188M 0 0 1666k 0 0:04:04 0:01:55 0:02:09 $'3549k\r' 48 398M 48 191M 0 0 1684k 0 0:04:02 0:01:56 0:02:06 $'3491k\r' 49 398M 49 195M 0 0 1703k 0 0:03:59 0:01:57 0:02:02 $'3555k\r' 50 398M 50 199M 0 0 1724k 0 0:03:56 0:01:58 0:01:58 $'3696k\r' 51 398M 51 203M 0 0 1746k 0 0:03:53 0:01:59 0:01:54 $'3932k\r' 52 398M 52 207M 0 0 1764k 0 0:03:51 0:02:00 0:01:51 $'4009k\r' 53 398M 53 211M 0 0 1785k 0 0:03:48 0:02:01 0:01:47 $'4134k\r' 54 398M 54 216M 0 0 1808k 0 0:03:45 0:02:02 0:01:43 $'4284k\r' 55 398M 55 221M 0 0 1835k 0 0:03:42 0:02:03 0:01:39 $'4454k\r' 56 398M 56 225M 0 0 1857k 0 0:03:39 0:02:04 0:01:35 $'4515k\r' 57 398M 57 230M 0 0 1881k 0 0:03:37 0:02:05 0:01:32 $'4710k\r' 59 398M 59 235M 0 0 1908k 0 0:03:33 0:02:06 0:01:27 $'4899k\r' 60 398M 60 241M 0 0 1938k 0 0:03:30 0:02:07 0:01:23 $'5107k\r' 61 398M 61 246M 0 0 1962k 0 0:03:28 0:02:08 0:01:20 $'5100k\r' 62 398M 62 250M 0 0 1980k 0 0:03:26 0:02:09 0:01:17 $'5039k\r' 63 398M 63 254M 0 0 1998k 0 0:03:24 0:02:10 0:01:14 $'4940k\r' 65 398M 65 259M 0 0 2019k 0 0:03:22 0:02:11 0:01:11 $'4835k\r' 66 398M 66 264M 0 0 2045k 0 0:03:19 0:02:12 0:01:07 $'4793k\r' 67 398M 67 269M 0 0 2066k 0 0:03:17 0:02:13 0:01:04 $'4748k\r' 68 398M 68 274M 0 0 2087k 0 0:03:15 0:02:14 0:01:01 $'4877k\r' 70 398M 70 279M 0 0 2112k 0 0:03:13 0:02:15 0:00:58 $'5071k\r' 71 398M 71 283M 0 0 2129k 0 0:03:11 0:02:16 0:00:55 $'5008k\r' 72 398M 72 288M 0 0 2148k 0 0:03:10 0:02:17 0:00:53 $'4875k\r' 73 398M 73 293M 0 0 2170k 0 0:03:08 0:02:18 0:00:50 $'4953k\r' 74 398M 74 298M 0 0 2189k 0 0:03:06 0:02:19 0:00:47 $'4934k\r' 76 398M 76 303M 0 0 2212k 0 0:03:04 0:02:20 0:00:44 $'4931k\r' 77 398M 77 308M 0 0 2228k 0 0:03:03 0:02:21 0:00:42 $'4949k\r' 78 398M 78 312M 0 0 2243k 0 0:03:02 0:02:22 0:00:40 $'4851k\r' 79 398M 79 317M 0 0 2262k 0 0:03:00 0:02:23 0:00:37 $'4812k\r' 80 398M 80 322M 0 0 2284k 0 0:02:58 0:02:24 0:00:34 $'4924k\r' 82 398M 82 328M 0 0 2308k 0 0:02:56 0:02:25 0:00:31 $'5027k\r' 83 398M 83 334M 0 0 2337k 0 0:02:54 0:02:26 0:00:28 $'5399k\r' 85 398M 85 341M 0 0 2369k 0 0:02:52 0:02:27 0:00:25 $'5955k\r' 87 398M 87 348M 0 0 2403k 0 0:02:49 0:02:28 0:00:21 $'6448k\r' 89 398M 89 355M 0 0 2436k 0 0:02:47 0:02:29 0:00:18 $'6831k\r' 91 398M 91 362M 0 0 2468k 0 0:02:45 0:02:30 0:00:15 $'7123k\r' 92 398M 92 369M 0 0 2496k 0 0:02:43 0:02:31 0:00:12 $'7161k\r' 94 398M 94 375M 0 0 2522k 0 0:02:41 0:02:32 0:00:09 $'7056k\r' 95 398M 95 382M 0 0 2550k 0 0:02:40 0:02:33 0:00:07 $'6918k\r' 97 398M 97 389M 0 0 2579k 0 0:02:38 0:02:34 0:00:04 $'6867k\r' 99 398M 99 396M 0 0 2610k 0 0:02:36 0:02:35 0:00:01 $'6889k\r100' 398M 100 398M 0 0 2620k 0 0:02:35 0:02:35 --:--:-- 7030k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ bp=21 ++ bpb=21/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 580k 0 0 1041k 0 0:06:32 --:--:-- 0:06:32 $'1041k\r' 0 398M 0 4036k 0 0 2595k 0 0:02:37 0:00:01 0:02:36 $'2594k\r' 2 398M 2 8196k 0 0 3206k 0 0:02:07 0:00:02 0:02:05 $'3206k\r' 2 398M 2 11.5M 0 0 3318k 0 0:02:03 0:00:03 0:02:00 $'3318k\r' 3 398M 3 15.2M 0 0 3422k 0 0:01:59 0:00:04 0:01:55 $'3421k\r' 4 398M 4 18.4M 0 0 3401k 0 0:02:00 0:00:05 0:01:55 $'3664k\r' 5 398M 5 21.0M 0 0 3288k 0 0:02:04 0:00:06 0:01:58 $'3503k\r' 5 398M 5 23.4M 0 0 3176k 0 0:02:08 0:00:07 0:02:01 $'3161k\r' 6 398M 6 25.9M 0 0 3101k 0 0:02:11 0:00:08 0:02:03 $'2947k\r' 7 398M 7 28.3M 0 0 3037k 0 0:02:14 0:00:09 0:02:05 $'2686k\r' 7 398M 7 30.5M 0 0 2960k 0 0:02:17 0:00:10 0:02:07 $'2470k\r' 8 398M 8 32.7M 0 0 2905k 0 0:02:20 0:00:11 0:02:09 $'2403k\r' 8 398M 8 35.1M 0 0 2868k 0 0:02:22 0:00:12 0:02:10 $'2403k\r' 9 398M 9 37.9M 0 0 2863k 0 0:02:22 0:00:13 0:02:09 $'2457k\r' 10 398M 10 40.0M 0 0 2819k 0 0:02:24 0:00:14 0:02:10 $'2404k\r' 10 398M 10 42.4M 0 0 2792k 0 0:02:26 0:00:15 0:02:11 $'2438k\r' 11 398M 11 45.0M 0 0 2784k 0 0:02:26 0:00:16 0:02:10 $'2505k\r' 11 398M 11 47.5M 0 0 2773k 0 0:02:27 0:00:17 0:02:10 $'2534k\r' 12 398M 12 50.5M 0 0 2788k 0 0:02:26 0:00:18 0:02:08 $'2582k\r' 13 398M 13 54.0M 0 0 2829k 0 0:02:24 0:00:19 0:02:05 $'2857k\r' 14 398M 14 56.7M 0 0 2828k 0 0:02:24 0:00:20 0:02:04 $'2937k\r' 14 398M 14 58.7M 0 0 2790k 0 0:02:26 0:00:21 0:02:05 $'2809k\r' 15 398M 15 60.6M 0 0 2753k 0 0:02:28 0:00:22 0:02:06 $'2681k\r' 15 398M 15 62.3M 0 0 2707k 0 0:02:30 0:00:23 0:02:07 $'2410k\r' 15 398M 15 63.6M 0 0 2652k 0 0:02:33 0:00:24 0:02:09 $'1960k\r' 16 398M 16 64.9M 0 0 2602k 0 0:02:36 0:00:25 0:02:11 $'1676k\r' 16 398M 16 66.5M 0 0 2564k 0 0:02:39 0:00:26 0:02:13 $'1590k\r' 17 398M 17 68.1M 0 0 2529k 0 0:02:41 0:00:27 0:02:14 $'1523k\r' 17 398M 17 69.4M 0 0 2489k 0 0:02:44 0:00:28 0:02:16 $'1454k\r' 17 398M 17 70.9M 0 0 2459k 0 0:02:46 0:00:29 0:02:17 $'1511k\r' 18 398M 18 72.7M 0 0 2437k 0 0:02:47 0:00:30 0:02:17 $'1593k\r' 18 398M 18 74.5M 0 0 2419k 0 0:02:48 0:00:31 0:02:17 $'1651k\r' 19 398M 19 76.6M 0 0 2410k 0 0:02:49 0:00:32 0:02:17 $'1754k\r' 19 398M 19 79.2M 0 0 2417k 0 0:02:48 0:00:33 0:02:15 $'2003k\r' 20 398M 20 81.5M 0 0 2416k 0 0:02:48 0:00:34 0:02:14 $'2160k\r' 20 398M 20 83.2M 0 0 2397k 0 0:02:50 0:00:35 0:02:15 $'2153k\r' 21 398M 21 85.0M 0 0 2383k 0 0:02:51 0:00:36 0:02:15 $'2156k\r' 21 398M 21 86.7M 0 0 2365k 0 0:02:52 0:00:37 0:02:15 $'2067k\r' 22 398M 22 88.1M 0 0 2341k 0 0:02:54 0:00:38 0:02:16 $'1836k\r' 22 398M 22 90.2M 0 0 2336k 0 0:02:54 0:00:39 0:02:15 $'1788k\r' 23 398M 23 92.6M 0 0 2340k 0 0:02:54 0:00:40 0:02:14 $'1929k\r' 23 398M 23 94.8M 0 0 2336k 0 0:02:54 0:00:41 0:02:13 $'1990k\r' 24 398M 24 96.9M 0 0 2331k 0 0:02:55 0:00:42 0:02:13 $'2082k\r' 24 398M 24 98.8M 0 0 2323k 0 0:02:55 0:00:43 0:02:12 $'2185k\r' 25 398M 25 100M 0 0 2312k 0 0:02:56 0:00:44 0:02:12 $'2115k\r' 25 398M 25 101M 0 0 2283k 0 0:02:58 0:00:45 0:02:13 $'1822k\r' 25 398M 25 102M 0 0 2252k 0 0:03:01 0:00:46 0:02:15 $'1553k\r' 25 398M 25 103M 0 0 2218k 0 0:03:04 0:00:47 0:02:17 $'1257k\r' 26 398M 26 103M 0 0 2188k 0 0:03:06 0:00:48 0:02:18 $'1007k\r' 26 398M 26 104M 0 0 2151k 0 0:03:09 0:00:49 0:02:20 $'726k\r' 26 398M 26 104M 0 0 2114k 0 0:03:13 0:00:50 0:02:23 $'572k\r' 26 398M 26 104M 0 0 2075k 0 0:03:16 0:00:51 0:02:25 $'438k\r' 26 398M 26 104M 0 0 2037k 0 0:03:20 0:00:52 0:02:28 $'321k\r' 26 398M 26 104M 0 0 2000k 0 0:03:24 0:00:53 0:02:31 $'184k\r' 26 398M 26 104M 0 0 1965k 0 0:03:27 0:00:54 0:02:33 $'121k\r' 26 398M 26 104M 0 0 1932k 0 0:03:31 0:00:55 0:02:36 $'99k\r' 26 398M 26 104M 0 0 1898k 0 0:03:35 0:00:56 0:02:39 $'72075\r' 26 398M 26 104M 0 0 1866k 0 0:03:38 0:00:57 0:02:41 $'68919\r' 26 398M 26 105M 0 0 1835k 0 0:03:42 0:00:58 0:02:44 $'72118\r' 26 398M 26 105M 0 0 1806k 0 0:03:46 0:00:59 0:02:47 $'65588\r' 26 398M 26 105M 0 0 1777k 0 0:03:49 0:01:00 0:02:49 $'71616\r' 26 398M 26 105M 0 0 1749k 0 0:03:53 0:01:01 0:02:52 $'84436\r' 26 398M 26 105M 0 0 1724k 0 0:03:56 0:01:02 0:02:54 $'97717\r' 26 398M 26 105M 0 0 1698k 0 0:04:00 0:01:03 0:02:57 $'91989\r' 26 398M 26 105M 0 0 1673k 0 0:04:04 0:01:04 0:03:00 $'91897\r' 26 398M 26 105M 0 0 1649k 0 0:04:07 0:01:05 0:03:02 $'79165\r' 26 398M 26 105M 0 0 1625k 0 0:04:11 0:01:06 0:03:05 $'66601\r' 26 398M 26 105M 0 0 1602k 0 0:04:14 0:01:07 0:03:07 $'69413\r' 26 398M 26 105M 0 0 1581k 0 0:04:18 0:01:08 0:03:10 $'88512\r' 26 398M 26 105M 0 0 1559k 0 0:04:21 0:01:09 0:03:12 $'98k\r' 26 398M 26 106M 0 0 1539k 0 0:04:25 0:01:10 0:03:15 $'105k\r' 26 398M 26 106M 0 0 1519k 0 0:04:28 0:01:11 0:03:17 $'114k\r' 26 398M 26 106M 0 0 1499k 0 0:04:32 0:01:12 0:03:20 $'102k\r' 26 398M 26 106M 0 0 1479k 0 0:04:36 0:01:13 0:03:23 $'88099\r' 26 398M 26 106M 0 0 1460k 0 0:04:39 0:01:14 0:03:25 $'72437\r' 26 398M 26 106M 0 0 1441k 0 0:04:43 0:01:15 0:03:28 $'58794\r' 26 398M 26 106M 0 0 1424k 0 0:04:46 0:01:16 0:03:30 $'59302\r' 26 398M 26 106M 0 0 1406k 0 0:04:50 0:01:17 0:03:33 $'58994\r' 26 398M 26 106M 0 0 1389k 0 0:04:53 0:01:18 0:03:35 $'65614\r' 26 398M 26 106M 0 0 1373k 0 0:04:57 0:01:19 0:03:38 $'78470\r' 26 398M 26 106M 0 0 1355k 0 0:05:01 0:01:20 0:03:41 $'87145\r' 26 398M 26 106M 0 0 1341k 0 0:05:04 0:01:21 0:03:43 $'81883\r' 26 398M 26 106M 0 0 1326k 0 0:05:07 0:01:22 0:03:45 $'91312\r' 26 398M 26 107M 0 0 1312k 0 0:05:11 0:01:23 0:03:48 $'95469\r' 26 398M 26 107M 0 0 1300k 0 0:05:13 0:01:24 0:03:49 $'144k\r' 27 398M 27 108M 0 0 1297k 0 0:05:14 0:01:25 0:03:49 $'333k\r' 27 398M 27 109M 0 0 1301k 0 0:05:13 0:01:26 0:03:47 $'640k\r' 28 398M 28 111M 0 0 1309k 0 0:05:11 0:01:27 0:03:44 $'1034k\r' 28 398M 28 114M 0 0 1324k 0 0:05:08 0:01:28 0:03:40 $'1536k\r' 29 398M 29 116M 0 0 1336k 0 0:05:05 0:01:29 0:03:36 $'1939k\r' 29 398M 29 119M 0 0 1350k 0 0:05:02 0:01:30 0:03:32 $'2268k\r' 30 398M 30 121M 0 0 1363k 0 0:04:59 0:01:31 0:03:28 $'2435k\r' 31 398M 31 123M 0 0 1371k 0 0:04:57 0:01:32 0:03:25 $'2454k\r' 31 398M 31 126M 0 0 1385k 0 0:04:54 0:01:33 0:03:21 $'2464k\r' 32 398M 32 128M 0 0 1395k 0 0:04:52 0:01:34 0:03:18 $'2451k\r' 32 398M 32 131M 0 0 1404k 0 0:04:50 0:01:35 0:03:15 $'2364k\r' 33 398M 33 133M 0 0 1419k 0 0:04:47 0:01:36 0:03:11 $'2451k\r' 34 398M 34 136M 0 0 1431k 0 0:04:45 0:01:37 0:03:08 $'2531k\r' 34 398M 34 138M 0 0 1437k 0 0:04:44 0:01:38 0:03:06 $'2405k\r' 35 398M 35 140M 0 0 1444k 0 0:04:42 0:01:39 0:03:03 $'2383k\r' 35 398M 35 142M 0 0 1453k 0 0:04:40 0:01:40 0:03:00 $'2393k\r' 36 398M 36 145M 0 0 1466k 0 0:04:38 0:01:41 0:02:57 $'2377k\r' 37 398M 37 148M 0 0 1480k 0 0:04:35 0:01:42 0:02:53 $'2437k\r' 37 398M 37 150M 0 0 1485k 0 0:04:34 0:01:43 0:02:51 $'2436k\r' 38 398M 38 152M 0 0 1497k 0 0:04:32 0:01:44 0:02:48 $'2538k\r' 38 398M 38 154M 0 0 1498k 0 0:04:32 0:01:45 0:02:47 $'2399k\r' 39 398M 39 156M 0 0 1506k 0 0:04:31 0:01:46 0:02:45 $'2316k\r' 40 398M 40 159M 0 0 1521k 0 0:04:28 0:01:47 0:02:41 $'2362k\r' 40 398M 40 163M 0 0 1538k 0 0:04:25 0:01:48 0:02:37 $'2636k\r' 41 398M 41 166M 0 0 1560k 0 0:04:21 0:01:49 0:02:32 $'2883k\r' 42 398M 42 170M 0 0 1581k 0 0:04:18 0:01:50 0:02:28 $'3351k\r' 43 398M 43 174M 0 0 1603k 0 0:04:14 0:01:51 0:02:23 $'3680k\r' 44 398M 44 178M 0 0 1621k 0 0:04:11 0:01:52 0:02:19 $'3772k\r' 45 398M 45 181M 0 0 1637k 0 0:04:09 0:01:53 0:02:16 $'3790k\r' 46 398M 46 184M 0 0 1650k 0 0:04:07 0:01:54 0:02:13 $'3628k\r' 47 398M 47 188M 0 0 1666k 0 0:04:04 0:01:55 0:02:09 $'3549k\r' 48 398M 48 191M 0 0 1684k 0 0:04:02 0:01:56 0:02:06 $'3491k\r' 49 398M 49 195M 0 0 1703k 0 0:03:59 0:01:57 0:02:02 $'3555k\r' 50 398M 50 199M 0 0 1724k 0 0:03:56 0:01:58 0:01:58 $'3696k\r' 51 398M 51 203M 0 0 1746k 0 0:03:53 0:01:59 0:01:54 $'3932k\r' 52 398M 52 207M 0 0 1764k 0 0:03:51 0:02:00 0:01:51 $'4009k\r' 53 398M 53 211M 0 0 1785k 0 0:03:48 0:02:01 0:01:47 $'4134k\r' 54 398M 54 216M 0 0 1808k 0 0:03:45 0:02:02 0:01:43 $'4284k\r' 55 398M 55 221M 0 0 1835k 0 0:03:42 0:02:03 0:01:39 $'4454k\r' 56 398M 56 225M 0 0 1857k 0 0:03:39 0:02:04 0:01:35 $'4515k\r' 57 398M 57 230M 0 0 1881k 0 0:03:37 0:02:05 0:01:32 $'4710k\r' 59 398M 59 235M 0 0 1908k 0 0:03:33 0:02:06 0:01:27 $'4899k\r' 60 398M 60 241M 0 0 1938k 0 0:03:30 0:02:07 0:01:23 $'5107k\r' 61 398M 61 246M 0 0 1962k 0 0:03:28 0:02:08 0:01:20 $'5100k\r' 62 398M 62 250M 0 0 1980k 0 0:03:26 0:02:09 0:01:17 $'5039k\r' 63 398M 63 254M 0 0 1998k 0 0:03:24 0:02:10 0:01:14 $'4940k\r' 65 398M 65 259M 0 0 2019k 0 0:03:22 0:02:11 0:01:11 $'4835k\r' 66 398M 66 264M 0 0 2045k 0 0:03:19 0:02:12 0:01:07 $'4793k\r' 67 398M 67 269M 0 0 2066k 0 0:03:17 0:02:13 0:01:04 $'4748k\r' 68 398M 68 274M 0 0 2087k 0 0:03:15 0:02:14 0:01:01 $'4877k\r' 70 398M 70 279M 0 0 2112k 0 0:03:13 0:02:15 0:00:58 $'5071k\r' 71 398M 71 283M 0 0 2129k 0 0:03:11 0:02:16 0:00:55 $'5008k\r' 72 398M 72 288M 0 0 2148k 0 0:03:10 0:02:17 0:00:53 $'4875k\r' 73 398M 73 293M 0 0 2170k 0 0:03:08 0:02:18 0:00:50 $'4953k\r' 74 398M 74 298M 0 0 2189k 0 0:03:06 0:02:19 0:00:47 $'4934k\r' 76 398M 76 303M 0 0 2212k 0 0:03:04 0:02:20 0:00:44 $'4931k\r' 77 398M 77 308M 0 0 2228k 0 0:03:03 0:02:21 0:00:42 $'4949k\r' 78 398M 78 312M 0 0 2243k 0 0:03:02 0:02:22 0:00:40 $'4851k\r' 79 398M 79 317M 0 0 2262k 0 0:03:00 0:02:23 0:00:37 $'4812k\r' 80 398M 80 322M 0 0 2284k 0 0:02:58 0:02:24 0:00:34 $'4924k\r' 82 398M 82 328M 0 0 2308k 0 0:02:56 0:02:25 0:00:31 $'5027k\r' 83 398M 83 334M 0 0 2337k 0 0:02:54 0:02:26 0:00:28 $'5399k\r' 85 398M 85 341M 0 0 2369k 0 0:02:52 0:02:27 0:00:25 $'5955k\r' 87 398M 87 348M 0 0 2403k 0 0:02:49 0:02:28 0:00:21 $'6448k\r' 89 398M 89 355M 0 0 2436k 0 0:02:47 0:02:29 0:00:18 $'6831k\r' 91 398M 91 362M 0 0 2468k 0 0:02:45 0:02:30 0:00:15 $'7123k\r' 92 398M 92 369M 0 0 2496k 0 0:02:43 0:02:31 0:00:12 $'7161k\r' 94 398M 94 375M 0 0 2522k 0 0:02:41 0:02:32 0:00:09 $'7056k\r' 95 398M 95 382M 0 0 2550k 0 0:02:40 0:02:33 0:00:07 $'6918k\r' 97 398M 97 389M 0 0 2579k 0 0:02:38 0:02:34 0:00:04 $'6867k\r' 99 398M 99 396M 0 0 2610k 0 0:02:36 0:02:35 0:00:01 $'6889k\r100' 398M 100 398M 0 0 2620k 0 0:02:35 0:02:35 --:--:-- 7030k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 21 ']' ++ '[' '!' -d 21 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/llvm-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/llvm-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 +240128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 +28.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 82.3M 3 2667k 0 0 2782k 0 0:00:30 --:--:-- 0:00:30 2781k 4 82.3M 4 3515k 0 0 1753k 0 0:00:48 0:00:02 0:00:46 1754k 4 82.3M 4 4187k 0 0 1424k 0 0:00:59 0:00:02 0:00:57 1424k 6 82.3M 6 5499k 0 0 1394k 0 0:01:00 0:00:03 0:00:57 1394k 7 82.3M 7 6635k 0 0 1343k 0 0:01:02 0:00:04 0:00:58 1343k 8 82.3M 8 7003k 0 0 1177k 0 0:01:11 0:00:05 0:01:06 869k 8 82.3M 8 7259k 0 0 1045k 0 0:01:20 0:00:06 0:01:14 758k 8 82.3M 8 7419k 0 0 933k 0 0:01:30 0:00:07 0:01:23 645k 9 82.3M 9 8171k 0 0 912k 0 0:01:32 0:00:08 0:01:24 532k 11 82.3M 11 9323k 0 0 938k 0 0:01:29 0:00:09 0:01:20 537k 11 82.3M 11 9.8M 0 0 922k 0 0:01:31 0:00:10 0:01:21 618k 12 82.3M 12 10.5M 0 0 906k 0 0:01:33 0:00:11 0:01:22 713k 14 82.3M 14 11.7M 0 0 929k 0 0:01:30 0:00:12 0:01:18 923k 16 82.3M 16 13.7M 0 0 1007k 0 0:01:23 0:00:13 0:01:10 1179k 19 82.3M 19 16.0M 0 0 1100k 0 0:01:16 0:00:14 0:01:02 1423k 22 82.3M 22 18.5M 0 0 1194k 0 0:01:10 0:00:15 0:00:55 1788k 26 82.3M 26 21.9M 0 0 1328k 0 0:01:03 0:00:16 0:00:47 2338k 31 82.3M 31 26.1M 0 0 1492k 0 0:00:56 0:00:17 0:00:39 2950k 37 82.3M 37 31.1M 0 0 1682k 0 0:00:50 0:00:18 0:00:32 3564k 44 82.3M 44 36.9M 0 0 1895k 0 0:00:44 0:00:19 0:00:25 4268k 52 82.3M 52 43.4M 0 0 2125k 0 0:00:39 0:00:20 0:00:19 5095k 61 82.3M 61 50.7M 0 0 2369k 0 0:00:35 0:00:21 0:00:14 5894k 71 82.3M 71 58.8M 0 0 2626k 0 0:00:32 0:00:22 0:00:10 6694k 81 82.3M 81 66.9M 0 0 2865k 0 0:00:29 0:00:23 0:00:06 7345k 89 82.3M 89 73.9M 0 0 3037k 0 0:00:27 0:00:24 0:00:03 7595k 98 82.3M 98 81.2M 0 0 3206k 0 0:00:26 0:00:25 0:00:01 7731k 100 82.3M 100 82.3M 0 0 3231k 0 0:00:26 0:00:26 --:--:-- 7781k +info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst +for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 +-ruyi.20240128' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 3 82.3M 3 2667k 0 0 2782k 0 0:00:30 --:--:-- 0:00:30 $'2781k\r' 4 82.3M 4 3515k 0 0 1753k 0 0:00:48 0:00:02 0:00:46 $'1754k\r' 4 82.3M 4 4187k 0 0 1424k 0 0:00:59 0:00:02 0:00:57 $'1424k\r' 6 82.3M 6 5499k 0 0 1394k 0 0:01:00 0:00:03 0:00:57 $'1394k\r' 7 82.3M 7 6635k 0 0 1343k 0 0:01:02 0:00:04 0:00:58 $'1343k\r' 8 82.3M 8 7003k 0 0 1177k 0 0:01:11 0:00:05 0:01:06 $'869k\r' 8 82.3M 8 7259k 0 0 1045k 0 0:01:20 0:00:06 0:01:14 $'758k\r' 8 82.3M 8 7419k 0 0 933k 0 0:01:30 0:00:07 0:01:23 $'645k\r' 9 82.3M 9 8171k 0 0 912k 0 0:01:32 0:00:08 0:01:24 $'532k\r' 11 82.3M 11 9323k 0 0 938k 0 0:01:29 0:00:09 0:01:20 $'537k\r' 11 82.3M 11 9.8M 0 0 922k 0 0:01:31 0:00:10 0:01:21 $'618k\r' 12 82.3M 12 10.5M 0 0 906k 0 0:01:33 0:00:11 0:01:22 $'713k\r' 14 82.3M 14 11.7M 0 0 929k 0 0:01:30 0:00:12 0:01:18 $'923k\r' 16 82.3M 16 13.7M 0 0 1007k 0 0:01:23 0:00:13 0:01:10 $'1179k\r' 19 82.3M 19 16.0M 0 0 1100k 0 0:01:16 0:00:14 0:01:02 $'1423k\r' 22 82.3M 22 18.5M 0 0 1194k 0 0:01:10 0:00:15 0:00:55 $'1788k\r' 26 82.3M 26 21.9M 0 0 1328k 0 0:01:03 0:00:16 0:00:47 $'2338k\r' 31 82.3M 31 26.1M 0 0 1492k 0 0:00:56 0:00:17 0:00:39 $'2950k\r' 37 82.3M 37 31.1M 0 0 1682k 0 0:00:50 0:00:18 0:00:32 $'3564k\r' 44 82.3M 44 36.9M 0 0 1895k 0 0:00:44 0:00:19 0:00:25 $'4268k\r' 52 82.3M 52 43.4M 0 0 2125k 0 0:00:39 0:00:20 0:00:19 $'5095k\r' 61 82.3M 61 50.7M 0 0 2369k 0 0:00:35 0:00:21 0:00:14 $'5894k\r' 71 82.3M 71 58.8M 0 0 2626k 0 0:00:32 0:00:22 0:00:10 $'6694k\r' 81 82.3M 81 66.9M 0 0 2865k 0 0:00:29 0:00:23 0:00:06 $'7345k\r' 89 82.3M 89 73.9M 0 0 3037k 0 0:00:27 0:00:24 0:00:03 $'7595k\r' 98 82.3M 98 81.2M 0 0 3206k 0 0:00:26 0:00:25 0:00:01 $'7731k\r100' 82.3M 100 82.3M 0 0 3231k 0 0:00:26 0:00:26 --:--:-- 7781k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 +++ awk '{print $NF}' ++ bp=-ruyi.20240128 ++ bpb=-ruyi.20240128/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 3 82.3M 3 2667k 0 0 2782k 0 0:00:30 --:--:-- 0:00:30 $'2781k\r' 4 82.3M 4 3515k 0 0 1753k 0 0:00:48 0:00:02 0:00:46 $'1754k\r' 4 82.3M 4 4187k 0 0 1424k 0 0:00:59 0:00:02 0:00:57 $'1424k\r' 6 82.3M 6 5499k 0 0 1394k 0 0:01:00 0:00:03 0:00:57 $'1394k\r' 7 82.3M 7 6635k 0 0 1343k 0 0:01:02 0:00:04 0:00:58 $'1343k\r' 8 82.3M 8 7003k 0 0 1177k 0 0:01:11 0:00:05 0:01:06 $'869k\r' 8 82.3M 8 7259k 0 0 1045k 0 0:01:20 0:00:06 0:01:14 $'758k\r' 8 82.3M 8 7419k 0 0 933k 0 0:01:30 0:00:07 0:01:23 $'645k\r' 9 82.3M 9 8171k 0 0 912k 0 0:01:32 0:00:08 0:01:24 $'532k\r' 11 82.3M 11 9323k 0 0 938k 0 0:01:29 0:00:09 0:01:20 $'537k\r' 11 82.3M 11 9.8M 0 0 922k 0 0:01:31 0:00:10 0:01:21 $'618k\r' 12 82.3M 12 10.5M 0 0 906k 0 0:01:33 0:00:11 0:01:22 $'713k\r' 14 82.3M 14 11.7M 0 0 929k 0 0:01:30 0:00:12 0:01:18 $'923k\r' 16 82.3M 16 13.7M 0 0 1007k 0 0:01:23 0:00:13 0:01:10 $'1179k\r' 19 82.3M 19 16.0M 0 0 1100k 0 0:01:16 0:00:14 0:01:02 $'1423k\r' 22 82.3M 22 18.5M 0 0 1194k 0 0:01:10 0:00:15 0:00:55 $'1788k\r' 26 82.3M 26 21.9M 0 0 1328k 0 0:01:03 0:00:16 0:00:47 $'2338k\r' 31 82.3M 31 26.1M 0 0 1492k 0 0:00:56 0:00:17 0:00:39 $'2950k\r' 37 82.3M 37 31.1M 0 0 1682k 0 0:00:50 0:00:18 0:00:32 $'3564k\r' 44 82.3M 44 36.9M 0 0 1895k 0 0:00:44 0:00:19 0:00:25 $'4268k\r' 52 82.3M 52 43.4M 0 0 2125k 0 0:00:39 0:00:20 0:00:19 $'5095k\r' 61 82.3M 61 50.7M 0 0 2369k 0 0:00:35 0:00:21 0:00:14 $'5894k\r' 71 82.3M 71 58.8M 0 0 2626k 0 0:00:32 0:00:22 0:00:10 $'6694k\r' 81 82.3M 81 66.9M 0 0 2865k 0 0:00:29 0:00:23 0:00:06 $'7345k\r' 89 82.3M 89 73.9M 0 0 3037k 0 0:00:27 0:00:24 0:00:03 $'7595k\r' 98 82.3M 98 81.2M 0 0 3206k 0 0:00:26 0:00:25 0:00:01 $'7731k\r100' 82.3M 100 82.3M 0 0 3231k 0 0:00:26 0:00:26 --:--:-- 7781k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z -ruyi.20240128 ']' ++ '[' '!' -d -ruyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 14.5M 6 985k 0 0 2115k 0 0:00:07 --:--:-- 0:00:07 2114k 37 14.5M 37 5632k 0 0 3841k 0 0:00:03 0:00:01 0:00:02 3841k 74 14.5M 74 10.8M 0 0 4509k 0 0:00:03 0:00:02 0:00:01 4509k 100 14.5M 100 14.5M 0 0 4715k 0 0:00:03 0:00:03 --:--:-- 4716k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 14.5M 6 985k 0 0 2115k 0 0:00:07 --:--:-- 0:00:07 $'2114k\r' 37 14.5M 37 5632k 0 0 3841k 0 0:00:03 0:00:01 0:00:02 $'3841k\r' 74 14.5M 74 10.8M 0 0 4509k 0 0:00:03 0:00:02 0:00:01 $'4509k\r100' 14.5M 100 14.5M 0 0 4715k 0 0:00:03 0:00:03 --:--:-- 4716k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=uyi.20240128 ++ bpb=uyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 14.5M 6 985k 0 0 2115k 0 0:00:07 --:--:-- 0:00:07 $'2114k\r' 37 14.5M 37 5632k 0 0 3841k 0 0:00:03 0:00:01 0:00:02 $'3841k\r' 74 14.5M 74 10.8M 0 0 4509k 0 0:00:03 0:00:02 0:00:01 $'4509k\r100' 14.5M 100 14.5M 0 0 4715k 0 0:00:03 0:00:03 --:--:-- 4716k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z uyi.20240128 ']' ++ '[' '!' -d uyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 3577k 100 3577k 0 0 4079k 0 --:--:-- --:--:-- --:--:-- 4078k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r100' 3577k 100 3577k 0 0 4079k 0 --:--:-- --:--:-- --:--:-- 4078k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=i.20231207+g03813c9fe8 ++ bpb=i.20231207+g03813c9fe8/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r100' 3577k 100 3577k 0 0 4079k 0 --:--:-- --:--:-- --:--:-- 4078k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z i.20231207+g03813c9fe8 ']' ++ '[' '!' -d i.20231207+g03813c9fe8 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:51:29 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:51:29 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:51:29 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmptw9egqay ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptw9egqay ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptw9egqay +Wed Apr 10 02:53:54 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptw9egqay +Wed Apr 10 02:53:55 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:53:56 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_57_05.log b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_57_05.log new file mode 100644 index 00000000..e35018c0 --- /dev/null +++ b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_57_05.log @@ -0,0 +1,616 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:57:05 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpbrw5ng41 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpbrw5ng41 ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpbrw5ng41 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 02:58:18 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpbrw5ng41 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpbrw5ng41 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 02:58:18 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpbrw5ng41 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 4 23.7M 4 1081k 0 0 2402k 0 0:00:10 --:--:-- 0:00:10 2402k 44 23.7M 44 10.5M 0 0 7432k 0 0:00:03 0:00:01 0:00:02 7432k 90 23.7M 90 21.4M 0 0 8957k 0 0:00:02 0:00:02 --:--:-- 8957k 100 23.7M 100 23.7M 0 0 9151k 0 0:00:02 0:00:02 --:--:-- 9149k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpbrw5ng41 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpbrw5ng41 ++ tmpfile2=/tmp/tmpbrw5ng41 ++ '[' -z /tmp/tmpbrw5ng41 ']' ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpbrw5ng41 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 02:59:41 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpbrw5ng41 ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmpbrw5ng41 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 02:59:42 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpbrw5ng41 ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:59:42 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:59:42 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: +7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting +objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting +objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% +(192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% +(222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% +(251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% +(281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% +(310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: +46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting +objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% +(451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% +(480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% +(510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% +(539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: +77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting +objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting +objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing +objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% +(94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: +34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:02 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 238M 1 4318k 0 0 4544k 0 0:00:53 --:--:-- 0:00:53 4541k 4 238M 4 10.6M 0 0 5594k 0 0:00:43 0:00:01 0:00:42 5595k 7 238M 7 17.6M 0 0 6139k 0 0:00:39 0:00:02 0:00:37 6139k 10 238M 10 24.9M 0 0 6446k 0 0:00:37 0:00:03 0:00:34 6446k 12 238M 12 30.8M 0 0 6388k 0 0:00:38 0:00:04 0:00:34 6387k 15 238M 15 37.9M 0 0 6530k 0 0:00:37 0:00:05 0:00:32 6908k 18 238M 18 44.8M 0 0 6602k 0 0:00:37 0:00:06 0:00:31 6995k 21 238M 21 50.3M 0 0 6490k 0 0:00:37 0:00:07 0:00:30 6697k 23 238M 23 55.7M 0 0 6381k 0 0:00:38 0:00:08 0:00:30 6329k 25 238M 25 61.1M 0 0 6294k 0 0:00:38 0:00:09 0:00:29 6201k 27 238M 27 66.8M 0 0 6255k 0 0:00:39 0:00:10 0:00:29 5926k 30 238M 30 73.7M 0 0 6316k 0 0:00:38 0:00:11 0:00:27 5920k 34 238M 34 81.3M 0 0 6430k 0 0:00:38 0:00:12 0:00:26 6336k 37 238M 37 89.8M 0 0 6594k 0 0:00:37 0:00:13 0:00:24 6976k 41 238M 41 99.1M 0 0 6788k 0 0:00:36 0:00:14 0:00:22 7769k 45 238M 45 109M 0 0 7001k 0 0:00:34 0:00:15 0:00:19 8636k 50 238M 50 119M 0 0 7234k 0 0:00:33 0:00:16 0:00:17 9427k 54 238M 54 130M 0 0 7459k 0 0:00:32 0:00:17 0:00:15 9.8M 59 238M 59 141M 0 0 7668k 0 0:00:31 0:00:18 0:00:13 10.4M 64 238M 64 153M 0 0 7855k 0 0:00:31 0:00:19 0:00:12 10.7M 68 238M 68 163M 0 0 7983k 0 0:00:30 0:00:20 0:00:10 10.8M 72 238M 72 174M 0 0 8134k 0 0:00:30 0:00:21 0:00:09 10.9M 77 238M 77 185M 0 0 8277k 0 0:00:29 0:00:22 0:00:07 10.9M 82 238M 82 196M 0 0 8407k 0 0:00:29 0:00:23 0:00:06 10.9M 86 238M 86 207M 0 0 8528k 0 0:00:28 0:00:24 0:00:04 10.9M 91 238M 91 218M 0 0 8606k 0 0:00:28 0:00:25 0:00:03 10.9M 95 238M 95 229M 0 0 8702k 0 0:00:28 0:00:26 0:00:02 10.9M 100 238M 100 238M 0 0 8788k 0 0:00:27 0:00:27 --:--:-- 10.9M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 2929k 0 0 2893k 0 0:01:49 0:00:01 0:01:48 2891k 2 308M 2 7009k 0 0 3483k 0 0:01:30 0:00:02 0:01:28 3483k 3 308M 3 11.3M 0 0 3871k 0 0:01:21 0:00:03 0:01:18 3871k 5 308M 5 16.2M 0 0 4151k 0 0:01:16 0:00:04 0:01:12 4150k 7 308M 7 21.6M 0 0 4431k 0 0:01:11 0:00:05 0:01:06 4474k 9 308M 9 27.8M 0 0 4748k 0 0:01:06 0:00:06 0:01:00 5123k 11 308M 11 34.4M 0 0 5024k 0 0:01:02 0:00:07 0:00:55 5644k 13 308M 13 40.9M 0 0 5228k 0 0:01:00 0:00:08 0:00:52 6044k 15 308M 15 46.8M 0 0 5326k 0 0:00:59 0:00:09 0:00:50 6268k 17 308M 17 53.6M 0 0 5484k 0 0:00:57 0:00:10 0:00:47 6540k 19 308M 19 60.5M 0 0 5633k 0 0:00:56 0:00:11 0:00:45 6697k 21 308M 21 67.7M 0 0 5779k 0 0:00:54 0:00:12 0:00:42 6838k 24 308M 24 75.4M 0 0 5940k 0 0:00:53 0:00:13 0:00:40 7081k 27 308M 27 83.6M 0 0 6111k 0 0:00:51 0:00:14 0:00:37 7526k 29 308M 29 92.2M 0 0 6294k 0 0:00:50 0:00:15 0:00:35 7916k 32 308M 32 100M 0 0 6451k 0 0:00:48 0:00:16 0:00:32 8252k 35 308M 35 108M 0 0 6547k 0 0:00:48 0:00:17 0:00:31 8391k 37 308M 37 117M 0 0 6657k 0 0:00:47 0:00:18 0:00:29 8521k 40 308M 40 125M 0 0 6781k 0 0:00:46 0:00:19 0:00:27 8659k 43 308M 43 135M 0 0 6907k 0 0:00:45 0:00:20 0:00:25 8748k 46 308M 46 144M 0 0 7028k 0 0:00:44 0:00:21 0:00:23 8876k 49 308M 49 152M 0 0 7079k 0 0:00:44 0:00:22 0:00:22 8888k 52 308M 52 160M 0 0 7137k 0 0:00:44 0:00:23 0:00:21 8867k 54 308M 54 169M 0 0 7213k 0 0:00:43 0:00:24 0:00:19 8854k 57 308M 57 177M 0 0 7252k 0 0:00:43 0:00:25 0:00:18 8630k 59 308M 59 184M 0 0 7274k 0 0:00:43 0:00:26 0:00:17 8310k 62 308M 62 192M 0 0 7305k 0 0:00:43 0:00:27 0:00:16 8300k 65 308M 65 201M 0 0 7348k 0 0:00:42 0:00:28 0:00:14 8320k 68 308M 68 209M 0 0 7401k 0 0:00:42 0:00:29 0:00:13 8303k 70 308M 70 218M 0 0 7464k 0 0:00:42 0:00:30 0:00:12 8527k 73 308M 73 227M 0 0 7514k 0 0:00:42 0:00:31 0:00:11 8758k 76 308M 76 236M 0 0 7560k 0 0:00:41 0:00:32 0:00:09 8937k 79 308M 79 244M 0 0 7583k 0 0:00:41 0:00:33 0:00:08 8902k 81 308M 81 252M 0 0 7594k 0 0:00:41 0:00:34 0:00:07 8713k 84 308M 84 260M 0 0 7604k 0 0:00:41 0:00:35 0:00:06 8441k 86 308M 86 267M 0 0 7619k 0 0:00:41 0:00:36 0:00:05 8272k 89 308M 89 275M 0 0 7619k 0 0:00:41 0:00:37 0:00:04 8000k 91 308M 91 283M 0 0 7625k 0 0:00:41 0:00:38 0:00:03 7900k 94 308M 94 290M 0 0 7613k 0 0:00:41 0:00:39 0:00:02 7750k 96 308M 96 296M 0 0 7586k 0 0:00:41 0:00:40 0:00:01 7462k 98 308M 98 302M 0 0 7547k 0 0:00:41 0:00:41 --:--:-- 7033k 99 308M 99 307M 0 0 7494k 0 0:00:42 0:00:42 --:--:-- 6566k 100 308M 100 308M 0 0 7488k 0 0:00:42 0:00:42 --:--:-- 6237k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 1058k 0 --:--:-- --:--:-- --:--:-- 1061k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=52f6a7dcb25b04beb6ee405c40eb6565116affa5, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.27.7 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done (61.6s) +-- Generating done (0.0s) +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[2/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[3/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[6/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[9/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[10/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[20/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[22/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[25/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[28/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[33/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[35/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[38/93] Linking C shared library libz.so.1.3.0.zlib-ng +[39/93] Creating library symlink libz.so.1 libz.so +[40/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[41/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[42/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[43/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[74/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[75/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[76/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[77/93] Building C object test/CMakeFiles/example.dir/example.c.o +[78/93] Linking C executable minideflate +[79/93] Linking C executable example +[80/93] Linking C executable switchlevels +[81/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[82/93] Linking C static library libz.a +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[85/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[86/93] Linking C executable infcover +[87/93] Linking C executable minigzip +[88/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[89/93] Linking C executable makefixed +[90/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[91/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[92/93] Linking C executable maketrees +[93/93] Linking C executable makecrct ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:10:39 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:10:39 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:10:39 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpbrw5ng41 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpbrw5ng41 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 03:10:44 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 03:10:45 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpbrw5ng41 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpbrw5ng41 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 03:10:49 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpbrw5ng41 +Wed Apr 10 03:10:49 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:10:49 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-03_40_03.log b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-03_40_03.log new file mode 100644 index 00000000..241618e2 --- /dev/null +++ b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-03_40_03.log @@ -0,0 +1,902 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:40:03 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpwwx27egk ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpwwx27egk ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpwwx27egk ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpwwx27egk +Wed Apr 10 03:40:16 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpwwx27egk ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpwwx27egk ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpwwx27egk +Wed Apr 10 03:40:16 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpwwx27egk ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 9 23.7M 9 2394k 0 0 421k 0 0:00:57 0:00:05 0:00:52 534k 36 23.7M 36 8794k 0 0 1315k 0 0:00:18 0:00:06 0:00:12 1964k 62 23.7M 62 14.7M 0 0 1969k 0 0:00:12 0:00:07 0:00:05 3381k 91 23.7M 91 21.6M 0 0 2547k 0 0:00:09 0:00:08 0:00:01 4945k 100 23.7M 100 23.7M 0 0 2702k 0 0:00:08 0:00:08 --:--:-- 6228k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:40:25 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:40:25 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep usage ++ ruyi -h +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting +objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-rv64ilp32-elf +gnu-plct-xthead +gnu-plct +gnu-upstream +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-rv64ilp32-elf/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240223.0-ruyi.20240224 (latest)' ++ '[' '!' -z ' - 0.20240223.0-ruyi.20240224 (latest)' ']' ++ pkgname=gnu-plct-rv64ilp32-elf ++ break ++ '[' -z gnu-plct-rv64ilp32-elf ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c +718031673d-riscv64-plct-elf.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c +718031673d-riscv64-plct-elf.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct-rv64ilp32-elf ++ grep 'skipping already installed package' +info: skipping already installed package ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=coremark ++ mkdir source-test ++ cd source-test ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 961k 0 --:--:-- --:--:-- --:--:-- 960k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'barebones +core_list_join.c +core_main.c +coremark.h +core_matrix.c +core_state.c +core_util.c +cygwin +docs +LICENSE.md +linux +linux64 +Makefile +README.md +simple' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpwwx27egk ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpwwx27egk +Wed Apr 10 03:41:06 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z /tmp/tmpwwx27egk ']' ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpwwx27egk ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpwwx27egk +Wed Apr 10 03:41:06 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpwwx27egk ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpwwx27egk ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpwwx27egk +Wed Apr 10 03:41:07 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpwwx27egk ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 23.7M 2 497k 0 0 1810k 0 0:00:13 --:--:-- 0:00:13 1814k 46 23.7M 46 10.9M 0 0 8812k 0 0:00:02 0:00:01 0:00:01 8817k 93 23.7M 93 22.0M 0 0 9946k 0 0:00:02 0:00:02 --:--:-- 9949k 100 23.7M 100 23.7M 0 0 9.8M 0 0:00:02 0:00:02 --:--:-- 9.8M ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:41:10 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:41:10 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:41:10 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpwwx27egk ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpwwx27egk ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpwwx27egk +Wed Apr 10 03:41:12 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpwwx27egk +Wed Apr 10 03:41:12 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:41:12 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_24_09.log b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_24_09.log new file mode 100644 index 00000000..e2279c4f --- /dev/null +++ b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-03_24_09.log @@ -0,0 +1,247 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:24:09 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpmzo3ffb_ ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpmzo3ffb_ ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpmzo3ffb_ ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpmzo3ffb_ +Wed Apr 10 03:24:22 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpmzo3ffb_ ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpmzo3ffb_ ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpmzo3ffb_ +Wed Apr 10 03:24:23 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpmzo3ffb_ ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 178k 0 0 756k 0 0:00:32 --:--:-- 0:00:32 756k 25 23.7M 25 6210k 0 0 5093k 0 0:00:04 0:00:01 0:00:03 5090k 54 23.7M 54 12.8M 0 0 5920k 0 0:00:04 0:00:02 0:00:02 5918k 85 23.7M 85 20.3M 0 0 6476k 0 0:00:03 0:00:03 --:--:-- 6475k 100 23.7M 100 23.7M 0 0 6690k 0 0:00:03 0:00:03 --:--:-- 6689k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:24:26 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:24:26 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: +8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:24:44 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:24:44 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:24:45 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpmzo3ffb_ ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmzo3ffb_ ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmzo3ffb_ +Wed Apr 10 03:24:54 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmzo3ffb_ +Wed Apr 10 03:24:54 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:24:54 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_24_55.log b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_24_55.log new file mode 100644 index 00000000..72349ae4 --- /dev/null +++ b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_24_55.log @@ -0,0 +1,2748 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:24:55 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpxv19i6zg ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpxv19i6zg ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpxv19i6zg ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpxv19i6zg +Wed Apr 10 03:25:13 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpxv19i6zg ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpxv19i6zg ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpxv19i6zg +Wed Apr 10 03:25:13 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpxv19i6zg ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 29 23.7M 29 7147k 0 0 6833k 0 0:00:03 0:00:01 0:00:02 6833k 74 23.7M 74 17.6M 0 0 8834k 0 0:00:02 0:00:02 --:--:-- 8834k 100 23.7M 100 23.7M 0 0 9377k 0 0:00:02 0:00:02 --:--:-- 9374k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:25:15 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:25:16 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:02 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7338 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 3119k 11.3M 20.5M 30.4M 40.5M 51.3M 62.4M 73.5M 84.7M 95.2M 106M 117M 128M 139M 149M 160M 171M 182M 193M 204M 215M 226M 237M 248M 259M 270M 281M 289M 299M 310M 321M 332M 343M 354M 365M 376M 387M 398M 402M for ' +++ echo Received Spent 0 3119k 11.3M 20.5M 30.4M 40.5M 51.3M 62.4M 73.5M 84.7M 95.2M 106M 117M 128M 139M 149M 160M 171M 182M 193M 204M 215M 226M 237M 248M 259M 270M 281M 289M 299M 310M 321M 332M 343M 354M 365M 376M 387M 398M 402M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3119k =~ [0-9]+ ]] ++ [[ 3119k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ tee ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7452 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 5054k 11.8M 19.2M 24.5M 28.7M 30.8M 31.8M 32.9M 33.9M 35.0M 37.1M 38.1M 39.2M 40.2M 42.3M 44.4M 45.5M 48.7M 50.8M 52.9M 53.9M 56.0M 58.1M 60.2M 64.4M 67.6M 70.7M 72.9M 76.0M 79.2M 84.4M 88.6M 91.8M 94.9M 98.1M 101M 106M 112M 118M 123M 129M 136M 142M 149M 157M 165M 175M 181M 186M 193M 199M 205M 211M 218M 225M 230M 237M 242M ' +++ echo Received Spent 0 5054k 11.8M 19.2M 24.5M 28.7M 30.8M 31.8M 32.9M 33.9M 35.0M 37.1M 38.1M 39.2M 40.2M 42.3M 44.4M 45.5M 48.7M 50.8M 52.9M 53.9M 56.0M 58.1M 60.2M 64.4M 67.6M 70.7M 72.9M 76.0M 79.2M 84.4M 88.6M 91.8M 94.9M 98.1M 101M 106M 112M 118M 123M 129M 136M 142M 149M 157M 165M 175M 181M 186M 193M 199M 205M 211M 218M 225M 230M 237M 242M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 5054k =~ [0-9]+ ]] ++ [[ 5054k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7589 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 271k 9.8M 20.7M 31.5M 39.4M 45.7M 53.6M 63.1M 71.0M 78.9M 85.2M 91.5M 94.7M 97.8M 99.4M 101M 104M 105M 107M ' +++ echo Received Spent 0 271k 9.8M 20.7M 31.5M 39.4M 45.7M 53.6M 63.1M 71.0M 78.9M 85.2M 91.5M 94.7M 97.8M 99.4M 101M 104M 105M 107M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 271k =~ [0-9]+ ]] ++ [[ 271k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ SLEEP_WAIT 1m ++ ruyi device provision ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 7587 Done nohup echo -e "$now_exec" + 7588 Exit 120 | ruyi device provision 2>&1 + 7589 Killed | tee > /tmp/ruyi_device/output ++ kill -9 7690 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 1743k 3359k 4975k 6591k 11.1M 20.6M 30.8M 37.2M 43.3M 49.3M 55.1M 60.7M 67.1M 71.8M 76.6M 82.9M 89.2M 98.7M 106M 112M 119M 125M 133M 141M 147M 153M 160M 166M 171M 176M 182M 190M 194M for ' +++ echo Received Spent 0 1743k 3359k 4975k 6591k 11.1M 20.6M 30.8M 37.2M 43.3M 49.3M 55.1M 60.7M 67.1M 71.8M 76.6M 82.9M 89.2M 98.7M 106M 112M 119M 125M 133M 141M 147M 153M 160M 166M 171M 176M 182M 190M 194M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 1743k =~ [0-9]+ ]] ++ [[ 1743k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7828 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 190k 2606k 5838k 10.0M 15.9M 20.3M 24.6M 29.0M 30.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 190k 2606k 5838k 10.0M 15.9M 20.3M 24.6M 29.0M 30.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 190k =~ [0-9]+ ]] ++ [[ 190k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 7450 Done nohup echo -e "$now_exec" + 7451 Exit 120 | ruyi device provision 2>&1 + 7452 Killed | tee > /tmp/ruyi_device/output ++ kill -9 7939 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 16375 415k 3919k 7663k 10.5M 13.9M 19.3M 23.1M 26.8M 30.6M 34.3M 38.1M 41.9M 44.2M 47.6M 51.3M 55.1M 58.8M 59.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 16375 415k 3919k 7663k 10.5M 13.9M 19.3M 23.1M 26.8M 30.6M 34.3M 38.1M 41.9M 44.2M 47.6M 51.3M 55.1M 58.8M 59.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 16375 =~ [0-9]+ ]] ++ [[ 16375 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ grep --line-buffered -Ev '^$|#' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 7826 Done nohup echo -e "$now_exec" + 7827 Exit 120 | ruyi device provision 2>&1 + 7828 Killed | tee > /tmp/ruyi_device/output ++ kill -9 8060 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 94205 1403k 5195k 10.3M 17.5M 23.8M 30.4M 30.4M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 94205 1403k 5195k 10.3M 17.5M 23.8M 30.4M 30.4M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 94205 =~ [0-9]+ ]] ++ [[ 94205 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ awk '{print $2}' +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 7688 Done nohup echo -e "$now_exec" + 7689 Exit 120 | ruyi device provision 2>&1 + 7690 Killed | tee > /tmp/ruyi_device/output +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 7937 Done nohup echo -e "$now_exec" + 7938 Exit 120 | ruyi device provision 2>&1 + 7939 Killed | tee > /tmp/ruyi_device/output ++ kill -9 8174 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 239k 2240k 6031k 8623k 12.2M 19.2M 23.4M 25.2M 26.9M 28.6M 30.3M 32.4M 36.0M 37.6M 39.3M 42.1M 47.1M 47.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 239k 2240k 6031k 8623k 12.2M 19.2M 23.4M 25.2M 26.9M 28.6M 30.3M 32.4M 36.0M 37.6M 39.3M 42.1M 47.1M 47.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 239k =~ [0-9]+ ]] ++ [[ 239k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 8058 Done nohup echo -e "$now_exec" + 8059 Exit 120 | ruyi device provision 2>&1 + 8060 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 8327 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 22030 407k 4295k 7959k 12.6M 17.2M 17.7M 20.3M 21.8M 23.3M 25.9M 33.1M 39.9M 47.2M 49.6M 51.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 22030 407k 4295k 7959k 12.6M 17.2M 17.7M 20.3M 21.8M 23.3M 25.9M 33.1M 39.9M 47.2M 49.6M 51.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 22030 =~ [0-9]+ ]] ++ [[ 22030 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-03:35:40.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:35:40 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:35:40 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:35:40 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpxv19i6zg ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpxv19i6zg +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 121: 7336 Done nohup echo -e "$now_exec" + 7337 Exit 120 | ruyi device provision 2>&1 + 7338 Killed | tee > /tmp/ruyi_device/output +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 121: 8172 Done nohup echo -e "$now_exec" + 8173 Exit 120 | ruyi device provision 2>&1 + 8174 Killed | tee > /tmp/ruyi_device/output +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 121: 8325 Done nohup echo -e "$now_exec" + 8326 Exit 120 | ruyi device provision 2>&1 + 8327 Killed | tee > /tmp/ruyi_device/output ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpxv19i6zg +Wed Apr 10 03:37:15 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpxv19i6zg +Wed Apr 10 03:37:15 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:37:15 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_35_40.tar.gz b/20240408/logs/fedora38-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-03_35_40.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5c474d2ebe286a304a2c8fd08e436ef09aa504a3 GIT binary patch literal 7270 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 rdi{W~^COyXZ&LgIUmMJ< /usr/lib64/libdl.so.2 (0x0000003f8a464000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8a267000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8a535000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=28a2c4a90363f219abb83defddd63445538a834a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x0000003f8d871000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f8d79d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8d5a0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8d873000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f41def98c13042b5220dad5162dd2eb3a811495f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x0000003faaa86000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003faa934000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003faa737000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003faaa88000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x0000003fbf448000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbf23f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbf44a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=da3be3303d0f9d7d4c4948c9bd15e68b8aa83eec, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003fa61b9000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa60e3000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa5ee6000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa61bb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fcaca58ee7a1a2f07553792b7e3b57bdf68f25c0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x0000003fb7b81000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb7978000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb7b83000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=13778aa42f3926d92929c41875a156b2637e0842, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003fba873000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fba662000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fba875000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x0000003fb7f23000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb7d1a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb7f25000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x0000003f897f4000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f895eb000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f897f6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x0000003f89674000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8946b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f89676000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a7869523b7b5bd15977ae296d89a01b9337b18e0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003faa59c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003faa393000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003faa59e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fec6ba7e67e2b796cae6d18583d7103b5e4133c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003f9e18a000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9df81000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9e18c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=1c82bbc49fab6681629a1431aeec1d04855c1c32, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003fbde74000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbdc6b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbde76000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=050cdeeca3270025456bab5f997e0154c509e55c, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fbbb7d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbb974000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbbb7f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=ebcbdf88347e6618560497de6c5a942c1dac963f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003f8c224000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8c01b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8c226000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4fe76729a51d1ad5073097f0395d56e932e40a9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003fa319d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa2f94000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa319f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=39d430c7c91236a80aeb0ff8d30ec49323919843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x0000003f92390000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f92381000) + libstdc++.so.6 => /lib/libstdc++.so.6 (0x0000003f91600000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003f922fa000) + libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0000003f922e0000) + libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000003f922dd000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f91403000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f92392000) + libatomic.so.1 => /lib/libatomic.so.1 (0x0000003f922d2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8df03d0ff29ad796d26bec7b5be6bbe057b8eed5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003fb06c8000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb04bf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb06ca000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3dacd56f955811af35ee820e706bd4491c1ccedd, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x0000003fae77b000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fae69d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fae4a0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fae77d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x0000003fa1f5b000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa1f4c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa1a03000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa1f5d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003f96685000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f96676000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f96003000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f96687000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=de67ace22e5e47dd1fa24f77a4ce762996e536d5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003f83683000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f83674000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003f835ed000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f833f0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f83685000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7b35f1643c3a8b49d13754b0bee237506d2945aa, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x0000003f96fbb000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f96ee9000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f96cec000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f96fbd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=05cf9dc88c199de15f4f7443b0d8f8b75ce6f742, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003f9015a000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f90072000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8fe75000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9015c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d67dba7ef971b967f32d1dab248cacfd3305e0e8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x0000003f93561000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f933e0000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f931e3000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f93563000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8eddc0bb144eb9a0441696bcfeb2a264efa3ea6d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003fb10c4000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb0ff0000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb0df3000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb10c6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a1bc95c06a4a904e4dff4887941078f71194df83, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x0000003fba28c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb9fae000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fba28e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep executable ++ grep ELF ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5b08a6a2463fedb3c900720761d30059db644989, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x0000003fbdcb5000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fbdbe6000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbd9e9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbdcb7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7543658774ce7d14c706fda90f27ce8c165d642a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x0000003f85bdc000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f85b0c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8590f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f85bde000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=136a562434f432d72472cb146736f6423df33d99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x0000003f90cde000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f90bf6000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f909f9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f90ce0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 +-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 4 231M 4 11.5M 0 0 2925k 0 0:01:20 0:00:04 0:01:16 2939k 5 231M 5 13.7M 0 0 3128k 0 0:01:15 0:00:04 0:01:11 3141k 7 231M 7 18.2M 0 0 3390k 0 0:01:09 0:00:05 0:01:04 3401k 10 231M 10 23.5M 0 0 3701k 0 0:01:04 0:00:06 0:00:58 4660k 13 231M 13 31.5M 0 0 4022k 0 0:00:58 0:00:08 0:00:50 4953k 17 231M 17 41.2M 0 0 4307k 0 0:00:54 0:00:09 0:00:45 5276k 22 231M 22 51.0M 0 0 4619k 0 0:00:51 0:00:11 0:00:40 5602k 26 231M 26 60.8M 0 0 4741k 0 0:00:49 0:00:13 0:00:36 5720k 30 231M 30 70.6M 0 0 4948k 0 0:00:47 0:00:14 0:00:33 5952k 34 231M 34 80.4M 0 0 5195k 0 0:00:45 0:00:15 0:00:30 6400k 38 231M 38 90.1M 0 0 5272k 0 0:00:44 0:00:17 0:00:27 6503k 43 231M 43 99.6M 0 0 5337k 0 0:00:44 0:00:19 0:00:25 6379k 44 231M 44 101M 0 0 5337k 0 0:00:44 0:00:19 0:00:25 6553k 46 231M 46 106M 0 0 5318k 0 0:00:44 0:00:20 0:00:24 6229k 48 231M 48 112M 0 0 5321k 0 0:00:44 0:00:21 0:00:23 5671k 50 231M 50 117M 0 0 5322k 0 0:00:44 0:00:22 0:00:22 5496k 52 231M 52 120M 0 0 5264k 0 0:00:45 0:00:23 0:00:22 4947k 54 231M 54 125M 0 0 5231k 0 0:00:45 0:00:24 0:00:21 4811k 56 231M 56 130M 0 0 5222k 0 0:00:45 0:00:25 0:00:20 4837k 58 231M 58 134M 0 0 5199k 0 0:00:45 0:00:26 0:00:19 4664k 60 231M 60 140M 0 0 5203k 0 0:00:45 0:00:27 0:00:18 4668k 66 231M 66 152M 0 0 5214k 0 0:00:45 0:00:29 0:00:16 5031k 67 231M 67 156M 0 0 5265k 0 0:00:44 0:00:30 0:00:14 5406k 69 231M 69 161M 0 0 5257k 0 0:00:45 0:00:31 0:00:14 5410k 71 231M 71 166M 0 0 5229k 0 0:00:45 0:00:32 0:00:13 5359k 73 231M 73 170M 0 0 5200k 0 0:00:45 0:00:33 0:00:12 5183k 75 231M 75 175M 0 0 5181k 0 0:00:45 0:00:34 0:00:11 4971k 77 231M 77 178M 0 0 5156k 0 0:00:45 0:00:35 0:00:10 4487k 78 231M 78 182M 0 0 5126k 0 0:00:46 0:00:36 0:00:10 4299k 80 231M 80 185M 0 0 5064k 0 0:00:46 0:00:37 0:00:09 3985k 81 231M 81 188M 0 0 5005k 0 0:00:47 0:00:38 0:00:09 3697k 82 231M 82 191M 0 0 4966k 0 0:00:47 0:00:39 0:00:08 3441k 84 231M 84 195M 0 0 4943k 0 0:00:47 0:00:40 0:00:07 3433k 86 231M 86 199M 0 0 4913k 0 0:00:48 0:00:41 0:00:07 3359k 87 231M 87 202M 0 0 4878k 0 0:00:48 0:00:42 0:00:06 3484k 88 231M 88 205M 0 0 4840k 0 0:00:48 0:00:43 0:00:05 3575k 90 231M 90 208M 0 0 4800k 0 0:00:49 0:00:44 0:00:05 3482k 91 231M 91 211M 0 0 4767k 0 0:00:49 0:00:45 0:00:04 3341k 92 231M 92 215M 0 0 4738k 0 0:00:49 0:00:46 0:00:03 3283k 94 231M 94 218M 0 0 4718k 0 0:00:50 0:00:47 0:00:03 3357k 96 231M 96 222M 0 0 4689k 0 0:00:50 0:00:48 0:00:02 3374k 97 231M 97 225M 0 0 4658k 0 0:00:50 0:00:49 0:00:01 3397k 98 231M 98 228M 0 0 4642k 0 0:00:51 0:00:50 0:00:01 3503k 100 231M 100 231M 0 0 4636k 0 0:00:51 0:00:51 --:--:-- 3605k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 -linux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 4 231M 4 11.5M 0 0 2925k 0 0:01:20 0:00:04 0:01:16 $'2939k\r' 5 231M 5 13.7M 0 0 3128k 0 0:01:15 0:00:04 0:01:11 $'3141k\r' 7 231M 7 18.2M 0 0 3390k 0 0:01:09 0:00:05 0:01:04 $'3401k\r' 10 231M 10 23.5M 0 0 3701k 0 0:01:04 0:00:06 0:00:58 $'4660k\r' 13 231M 13 31.5M 0 0 4022k 0 0:00:58 0:00:08 0:00:50 $'4953k\r' 17 231M 17 41.2M 0 0 4307k 0 0:00:54 0:00:09 0:00:45 $'5276k\r' 22 231M 22 51.0M 0 0 4619k 0 0:00:51 0:00:11 0:00:40 $'5602k\r' 26 231M 26 60.8M 0 0 4741k 0 0:00:49 0:00:13 0:00:36 $'5720k\r' 30 231M 30 70.6M 0 0 4948k 0 0:00:47 0:00:14 0:00:33 $'5952k\r' 34 231M 34 80.4M 0 0 5195k 0 0:00:45 0:00:15 0:00:30 $'6400k\r' 38 231M 38 90.1M 0 0 5272k 0 0:00:44 0:00:17 0:00:27 $'6503k\r' 43 231M 43 99.6M 0 0 5337k 0 0:00:44 0:00:19 0:00:25 $'6379k\r' 44 231M 44 101M 0 0 5337k 0 0:00:44 0:00:19 0:00:25 $'6553k\r' 46 231M 46 106M 0 0 5318k 0 0:00:44 0:00:20 0:00:24 $'6229k\r' 48 231M 48 112M 0 0 5321k 0 0:00:44 0:00:21 0:00:23 $'5671k\r' 50 231M 50 117M 0 0 5322k 0 0:00:44 0:00:22 0:00:22 $'5496k\r' 52 231M 52 120M 0 0 5264k 0 0:00:45 0:00:23 0:00:22 $'4947k\r' 54 231M 54 125M 0 0 5231k 0 0:00:45 0:00:24 0:00:21 $'4811k\r' 56 231M 56 130M 0 0 5222k 0 0:00:45 0:00:25 0:00:20 $'4837k\r' 58 231M 58 134M 0 0 5199k 0 0:00:45 0:00:26 0:00:19 $'4664k\r' 60 231M 60 140M 0 0 5203k 0 0:00:45 0:00:27 0:00:18 $'4668k\r' 66 231M 66 152M 0 0 5214k 0 0:00:45 0:00:29 0:00:16 $'5031k\r' 67 231M 67 156M 0 0 5265k 0 0:00:44 0:00:30 0:00:14 $'5406k\r' 69 231M 69 161M 0 0 5257k 0 0:00:45 0:00:31 0:00:14 $'5410k\r' 71 231M 71 166M 0 0 5229k 0 0:00:45 0:00:32 0:00:13 $'5359k\r' 73 231M 73 170M 0 0 5200k 0 0:00:45 0:00:33 0:00:12 $'5183k\r' 75 231M 75 175M 0 0 5181k 0 0:00:45 0:00:34 0:00:11 $'4971k\r' 77 231M 77 178M 0 0 5156k 0 0:00:45 0:00:35 0:00:10 $'4487k\r' 78 231M 78 182M 0 0 5126k 0 0:00:46 0:00:36 0:00:10 $'4299k\r' 80 231M 80 185M 0 0 5064k 0 0:00:46 0:00:37 0:00:09 $'3985k\r' 81 231M 81 188M 0 0 5005k 0 0:00:47 0:00:38 0:00:09 $'3697k\r' 82 231M 82 191M 0 0 4966k 0 0:00:47 0:00:39 0:00:08 $'3441k\r' 84 231M 84 195M 0 0 4943k 0 0:00:47 0:00:40 0:00:07 $'3433k\r' 86 231M 86 199M 0 0 4913k 0 0:00:48 0:00:41 0:00:07 $'3359k\r' 87 231M 87 202M 0 0 4878k 0 0:00:48 0:00:42 0:00:06 $'3484k\r' 88 231M 88 205M 0 0 4840k 0 0:00:48 0:00:43 0:00:05 $'3575k\r' 90 231M 90 208M 0 0 4800k 0 0:00:49 0:00:44 0:00:05 $'3482k\r' 91 231M 91 211M 0 0 4767k 0 0:00:49 0:00:45 0:00:04 $'3341k\r' 92 231M 92 215M 0 0 4738k 0 0:00:49 0:00:46 0:00:03 $'3283k\r' 94 231M 94 218M 0 0 4718k 0 0:00:50 0:00:47 0:00:03 $'3357k\r' 96 231M 96 222M 0 0 4689k 0 0:00:50 0:00:48 0:00:02 $'3374k\r' 97 231M 97 225M 0 0 4658k 0 0:00:50 0:00:49 0:00:01 $'3397k\r' 98 231M 98 228M 0 0 4642k 0 0:00:51 0:00:50 0:00:01 $'3503k\r100' 231M 100 231M 0 0 4636k 0 0:00:51 0:00:51 --:--:-- 3605k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 +++ awk '{print $NF}' ++ bp=/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ bpb=/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 -linux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 4 231M 4 11.5M 0 0 2925k 0 0:01:20 0:00:04 0:01:16 $'2939k\r' 5 231M 5 13.7M 0 0 3128k 0 0:01:15 0:00:04 0:01:11 $'3141k\r' 7 231M 7 18.2M 0 0 3390k 0 0:01:09 0:00:05 0:01:04 $'3401k\r' 10 231M 10 23.5M 0 0 3701k 0 0:01:04 0:00:06 0:00:58 $'4660k\r' 13 231M 13 31.5M 0 0 4022k 0 0:00:58 0:00:08 0:00:50 $'4953k\r' 17 231M 17 41.2M 0 0 4307k 0 0:00:54 0:00:09 0:00:45 $'5276k\r' 22 231M 22 51.0M 0 0 4619k 0 0:00:51 0:00:11 0:00:40 $'5602k\r' 26 231M 26 60.8M 0 0 4741k 0 0:00:49 0:00:13 0:00:36 $'5720k\r' 30 231M 30 70.6M 0 0 4948k 0 0:00:47 0:00:14 0:00:33 $'5952k\r' 34 231M 34 80.4M 0 0 5195k 0 0:00:45 0:00:15 0:00:30 $'6400k\r' 38 231M 38 90.1M 0 0 5272k 0 0:00:44 0:00:17 0:00:27 $'6503k\r' 43 231M 43 99.6M 0 0 5337k 0 0:00:44 0:00:19 0:00:25 $'6379k\r' 44 231M 44 101M 0 0 5337k 0 0:00:44 0:00:19 0:00:25 $'6553k\r' 46 231M 46 106M 0 0 5318k 0 0:00:44 0:00:20 0:00:24 $'6229k\r' 48 231M 48 112M 0 0 5321k 0 0:00:44 0:00:21 0:00:23 $'5671k\r' 50 231M 50 117M 0 0 5322k 0 0:00:44 0:00:22 0:00:22 $'5496k\r' 52 231M 52 120M 0 0 5264k 0 0:00:45 0:00:23 0:00:22 $'4947k\r' 54 231M 54 125M 0 0 5231k 0 0:00:45 0:00:24 0:00:21 $'4811k\r' 56 231M 56 130M 0 0 5222k 0 0:00:45 0:00:25 0:00:20 $'4837k\r' 58 231M 58 134M 0 0 5199k 0 0:00:45 0:00:26 0:00:19 $'4664k\r' 60 231M 60 140M 0 0 5203k 0 0:00:45 0:00:27 0:00:18 $'4668k\r' 66 231M 66 152M 0 0 5214k 0 0:00:45 0:00:29 0:00:16 $'5031k\r' 67 231M 67 156M 0 0 5265k 0 0:00:44 0:00:30 0:00:14 $'5406k\r' 69 231M 69 161M 0 0 5257k 0 0:00:45 0:00:31 0:00:14 $'5410k\r' 71 231M 71 166M 0 0 5229k 0 0:00:45 0:00:32 0:00:13 $'5359k\r' 73 231M 73 170M 0 0 5200k 0 0:00:45 0:00:33 0:00:12 $'5183k\r' 75 231M 75 175M 0 0 5181k 0 0:00:45 0:00:34 0:00:11 $'4971k\r' 77 231M 77 178M 0 0 5156k 0 0:00:45 0:00:35 0:00:10 $'4487k\r' 78 231M 78 182M 0 0 5126k 0 0:00:46 0:00:36 0:00:10 $'4299k\r' 80 231M 80 185M 0 0 5064k 0 0:00:46 0:00:37 0:00:09 $'3985k\r' 81 231M 81 188M 0 0 5005k 0 0:00:47 0:00:38 0:00:09 $'3697k\r' 82 231M 82 191M 0 0 4966k 0 0:00:47 0:00:39 0:00:08 $'3441k\r' 84 231M 84 195M 0 0 4943k 0 0:00:47 0:00:40 0:00:07 $'3433k\r' 86 231M 86 199M 0 0 4913k 0 0:00:48 0:00:41 0:00:07 $'3359k\r' 87 231M 87 202M 0 0 4878k 0 0:00:48 0:00:42 0:00:06 $'3484k\r' 88 231M 88 205M 0 0 4840k 0 0:00:48 0:00:43 0:00:05 $'3575k\r' 90 231M 90 208M 0 0 4800k 0 0:00:49 0:00:44 0:00:05 $'3482k\r' 91 231M 91 211M 0 0 4767k 0 0:00:49 0:00:45 0:00:04 $'3341k\r' 92 231M 92 215M 0 0 4738k 0 0:00:49 0:00:46 0:00:03 $'3283k\r' 94 231M 94 218M 0 0 4718k 0 0:00:50 0:00:47 0:00:03 $'3357k\r' 96 231M 96 222M 0 0 4689k 0 0:00:50 0:00:48 0:00:02 $'3374k\r' 97 231M 97 225M 0 0 4658k 0 0:00:50 0:00:49 0:00:01 $'3397k\r' 98 231M 98 228M 0 0 4642k 0 0:00:51 0:00:50 0:00:01 $'3503k\r100' 231M 100 231M 0 0 4636k 0 0:00:51 0:00:51 --:--:-- 3605k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fe425b1b7a491bda2534bdb80ee503838d852ef8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x0000003f9887d000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f98797000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9859a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9887f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31de725bef0a8f53eba36769a7be37eb620f7a2b, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x0000003fa613f000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa6054000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa5e57000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa6141000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep executable ++ grep ELF ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=6818370a530b64acc240e73fe321d99cad94a723, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x0000003fa4509000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa4382000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa4185000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa450b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x0000003f86e28000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f86c1f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f86e2a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep executable ++ grep ELF ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7dcd2e59d53f6d4df6af7b3e89b2cfe8ca36b34e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003f995a3000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f994b6000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f992b9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f995a5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c6b55f7b647f4be0abdddcd7c409dc955bfb739e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x0000003fb47f1000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb45e8000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb47f3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=0b8b290ca6f508e50e2ee64996305cc443ac5b9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003f9da46000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9d835000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9da48000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x0000003fac498000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fac28f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fac49a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x0000003faff59000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fafd50000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003faff5b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x0000003fbe80e000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbe605000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbe810000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3fb51f60d57bc734aad41355e1322a1f69065a08, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003fbc406000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbc1fd000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbc408000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=aa885dc4f52b6e5a2dc3ff98ff89813779396b51, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003f8105a000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f80e51000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8105c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=abe52db7cdccf81e5cfd6f19181c4774e518cfbf, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003f9c356000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9c14d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9c358000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f4c79502e3260a437a576e9d0e8ff928caf63a22, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fa03f9000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa01f0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa03fb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=250949fdcaea85ea941660452bee5c21163be16d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003fb71a1000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb6f98000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb71a3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=bdbc9147210bd108886a761a21f60e7c95dc50fe, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003f7f841000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f7f638000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f7f843000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=11def813f48d99dd78f2eed8d17c73351bf9a388, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x0000003f9d317000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9d308000) + libstdc++.so.6 => /lib/libstdc++.so.6 (0x0000003f9c600000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003f9c979000) + libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0000003f9c95f000) + libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000003f9d305000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9c403000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9d319000) + libatomic.so.1 => /lib/libatomic.so.1 (0x0000003f9c956000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31a93e40023c23a993b5e737137c15f485083b1f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003f88f3e000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f88d35000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f88f40000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=14684908d7a6f26b4fe822ccc2c8a1671837bf89, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x0000003f8437d000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f841dc000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f83fdf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8437f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x0000003fbd44a000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fbd43b000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbce03000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbd44c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003f83e41000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f83e32000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f83803000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f83e43000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f56289121545e9eb29e087f10379becc076ad124, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003fb580e000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb57ff000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003fb5778000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb557b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb5810000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c1118173c3261176ae28b908f20c4041c87f3ab9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x0000003fb5b98000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb5aaf000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb58b2000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb5b9a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=71097d0a87f2b1884d767d8642b4ad6efef42cb7, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003faf7a3000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003faf6a3000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003faf4a6000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003faf7a5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=be6ba9a387e69d9794c5ffe7787406e472079843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x0000003fb0f72000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb0dbb000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb0bbe000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb0f74000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=10be3c866f93235555c6a0c7224be62154ba798a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003f84168000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f8407d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f83e80000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8416a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5043d4e49f9753ae93a7066487ac2033dbf381e3, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x0000003f9988b000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f995aa000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9988d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8fe5d0c1d00aa3df97c5cff89f80764eba1e3bf1, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x0000003f8a602000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f8a51c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8a31f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8a604000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=38962ec5375f6fee8f010906f654b502273effd8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x0000003fb786e000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb7787000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb758a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb7870000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8601474e5e55cf97a2e4bd5b6ad6e7d631e19ee5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x0000003fb785c000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb775c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb755f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb785e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 +.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 2 294M 2 7194k 0 0 2322k 0 0:02:09 0:00:03 0:02:06 2335k 3 294M 3 9.9M 0 0 2628k 0 0:01:54 0:00:03 0:01:51 2640k 4 294M 4 14.4M 0 0 3012k 0 0:01:40 0:00:04 0:01:36 3023k 6 294M 6 19.5M 0 0 3410k 0 0:01:28 0:00:05 0:01:23 3420k 10 294M 10 30.3M 0 0 3899k 0 0:01:17 0:00:07 0:01:10 4694k 13 294M 13 40.1M 0 0 4332k 0 0:01:09 0:00:09 0:01:00 5305k 16 294M 16 48.9M 0 0 4588k 0 0:01:05 0:00:10 0:00:55 5674k 19 294M 19 57.9M 0 0 4758k 0 0:01:03 0:00:12 0:00:51 5885k 22 294M 22 67.6M 0 0 4857k 0 0:01:02 0:00:14 0:00:48 5872k 26 294M 26 77.3M 0 0 4795k 0 0:01:02 0:00:16 0:00:46 5629k 29 294M 29 87.2M 0 0 5194k 0 0:00:58 0:00:17 0:00:41 6257k 31 294M 31 91.6M 0 0 5245k 0 0:00:57 0:00:17 0:00:40 6273k 33 294M 33 97.4M 0 0 5275k 0 0:00:57 0:00:18 0:00:39 6277k 36 294M 36 106M 0 0 5258k 0 0:00:57 0:00:20 0:00:37 6141k 39 294M 39 116M 0 0 5321k 0 0:00:56 0:00:22 0:00:34 6799k 42 294M 42 126M 0 0 5349k 0 0:00:56 0:00:24 0:00:32 5733k 46 294M 46 135M 0 0 5533k 0 0:00:54 0:00:25 0:00:29 6242k 49 294M 49 145M 0 0 5437k 0 0:00:55 0:00:27 0:00:28 5794k 52 294M 52 155M 0 0 5541k 0 0:00:54 0:00:28 0:00:26 6275k 56 294M 56 165M 0 0 5519k 0 0:00:54 0:00:30 0:00:24 6056k 59 294M 59 174M 0 0 5688k 0 0:00:53 0:00:31 0:00:22 6805k 60 294M 60 177M 0 0 5692k 0 0:00:53 0:00:31 0:00:22 6285k 63 294M 63 187M 0 0 5701k 0 0:00:52 0:00:33 0:00:19 6877k 66 294M 66 196M 0 0 5724k 0 0:00:52 0:00:35 0:00:17 6538k 70 294M 70 206M 0 0 5736k 0 0:00:52 0:00:36 0:00:16 6807k 70 294M 70 206M 0 0 5735k 0 0:00:52 0:00:36 0:00:16 6009k 73 294M 73 216M 0 0 5753k 0 0:00:52 0:00:38 0:00:14 6046k 76 294M 76 224M 0 0 5777k 0 0:00:52 0:00:39 0:00:13 6193k 76 294M 76 225M 0 0 5775k 0 0:00:52 0:00:39 0:00:13 6153k 77 294M 77 229M 0 0 5745k 0 0:00:52 0:00:40 0:00:12 5832k 80 294M 80 236M 0 0 5737k 0 0:00:52 0:00:42 0:00:10 5749k 83 294M 83 245M 0 0 5729k 0 0:00:52 0:00:43 0:00:09 5555k 86 294M 86 255M 0 0 5728k 0 0:00:52 0:00:45 0:00:07 5400k 89 294M 89 265M 0 0 5749k 0 0:00:52 0:00:47 0:00:05 5603k 93 294M 93 274M 0 0 5781k 0 0:00:52 0:00:48 0:00:04 5965k 96 294M 96 284M 0 0 5759k 0 0:00:52 0:00:50 0:00:02 5871k 99 294M 99 294M 0 0 5807k 0 0:00:51 0:00:51 --:--:-- 6238k 100 294M 100 294M 0 0 5815k 0 0:00:51 0:00:51 --:--:-- 6447k 100 294M 100 294M 0 0 5815k 0 0:00:51 0:00:51 --:--:-- 6476k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 +240222' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 .0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 2 294M 2 7194k 0 0 2322k 0 0:02:09 0:00:03 0:02:06 $'2335k\r' 3 294M 3 9.9M 0 0 2628k 0 0:01:54 0:00:03 0:01:51 $'2640k\r' 4 294M 4 14.4M 0 0 3012k 0 0:01:40 0:00:04 0:01:36 $'3023k\r' 6 294M 6 19.5M 0 0 3410k 0 0:01:28 0:00:05 0:01:23 $'3420k\r' 10 294M 10 30.3M 0 0 3899k 0 0:01:17 0:00:07 0:01:10 $'4694k\r' 13 294M 13 40.1M 0 0 4332k 0 0:01:09 0:00:09 0:01:00 $'5305k\r' 16 294M 16 48.9M 0 0 4588k 0 0:01:05 0:00:10 0:00:55 $'5674k\r' 19 294M 19 57.9M 0 0 4758k 0 0:01:03 0:00:12 0:00:51 $'5885k\r' 22 294M 22 67.6M 0 0 4857k 0 0:01:02 0:00:14 0:00:48 $'5872k\r' 26 294M 26 77.3M 0 0 4795k 0 0:01:02 0:00:16 0:00:46 $'5629k\r' 29 294M 29 87.2M 0 0 5194k 0 0:00:58 0:00:17 0:00:41 $'6257k\r' 31 294M 31 91.6M 0 0 5245k 0 0:00:57 0:00:17 0:00:40 $'6273k\r' 33 294M 33 97.4M 0 0 5275k 0 0:00:57 0:00:18 0:00:39 $'6277k\r' 36 294M 36 106M 0 0 5258k 0 0:00:57 0:00:20 0:00:37 $'6141k\r' 39 294M 39 116M 0 0 5321k 0 0:00:56 0:00:22 0:00:34 $'6799k\r' 42 294M 42 126M 0 0 5349k 0 0:00:56 0:00:24 0:00:32 $'5733k\r' 46 294M 46 135M 0 0 5533k 0 0:00:54 0:00:25 0:00:29 $'6242k\r' 49 294M 49 145M 0 0 5437k 0 0:00:55 0:00:27 0:00:28 $'5794k\r' 52 294M 52 155M 0 0 5541k 0 0:00:54 0:00:28 0:00:26 $'6275k\r' 56 294M 56 165M 0 0 5519k 0 0:00:54 0:00:30 0:00:24 $'6056k\r' 59 294M 59 174M 0 0 5688k 0 0:00:53 0:00:31 0:00:22 $'6805k\r' 60 294M 60 177M 0 0 5692k 0 0:00:53 0:00:31 0:00:22 $'6285k\r' 63 294M 63 187M 0 0 5701k 0 0:00:52 0:00:33 0:00:19 $'6877k\r' 66 294M 66 196M 0 0 5724k 0 0:00:52 0:00:35 0:00:17 $'6538k\r' 70 294M 70 206M 0 0 5736k 0 0:00:52 0:00:36 0:00:16 $'6807k\r' 70 294M 70 206M 0 0 5735k 0 0:00:52 0:00:36 0:00:16 $'6009k\r' 73 294M 73 216M 0 0 5753k 0 0:00:52 0:00:38 0:00:14 $'6046k\r' 76 294M 76 224M 0 0 5777k 0 0:00:52 0:00:39 0:00:13 $'6193k\r' 76 294M 76 225M 0 0 5775k 0 0:00:52 0:00:39 0:00:13 $'6153k\r' 77 294M 77 229M 0 0 5745k 0 0:00:52 0:00:40 0:00:12 $'5832k\r' 80 294M 80 236M 0 0 5737k 0 0:00:52 0:00:42 0:00:10 $'5749k\r' 83 294M 83 245M 0 0 5729k 0 0:00:52 0:00:43 0:00:09 $'5555k\r' 86 294M 86 255M 0 0 5728k 0 0:00:52 0:00:45 0:00:07 $'5400k\r' 89 294M 89 265M 0 0 5749k 0 0:00:52 0:00:47 0:00:05 $'5603k\r' 93 294M 93 274M 0 0 5781k 0 0:00:52 0:00:48 0:00:04 $'5965k\r' 96 294M 96 284M 0 0 5759k 0 0:00:52 0:00:50 0:00:02 $'5871k\r' 99 294M 99 294M 0 0 5807k 0 0:00:51 0:00:51 --:--:-- $'6238k\r100' 294M 100 294M 0 0 5815k 0 0:00:51 0:00:51 --:--:-- $'6447k\r100' 294M 100 294M 0 0 5815k 0 0:00:51 0:00:51 --:--:-- 6476k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 240222 +++ awk '{print $NF}' ++ bp=240222 ++ bpb=240222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 .0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 2 294M 2 7194k 0 0 2322k 0 0:02:09 0:00:03 0:02:06 $'2335k\r' 3 294M 3 9.9M 0 0 2628k 0 0:01:54 0:00:03 0:01:51 $'2640k\r' 4 294M 4 14.4M 0 0 3012k 0 0:01:40 0:00:04 0:01:36 $'3023k\r' 6 294M 6 19.5M 0 0 3410k 0 0:01:28 0:00:05 0:01:23 $'3420k\r' 10 294M 10 30.3M 0 0 3899k 0 0:01:17 0:00:07 0:01:10 $'4694k\r' 13 294M 13 40.1M 0 0 4332k 0 0:01:09 0:00:09 0:01:00 $'5305k\r' 16 294M 16 48.9M 0 0 4588k 0 0:01:05 0:00:10 0:00:55 $'5674k\r' 19 294M 19 57.9M 0 0 4758k 0 0:01:03 0:00:12 0:00:51 $'5885k\r' 22 294M 22 67.6M 0 0 4857k 0 0:01:02 0:00:14 0:00:48 $'5872k\r' 26 294M 26 77.3M 0 0 4795k 0 0:01:02 0:00:16 0:00:46 $'5629k\r' 29 294M 29 87.2M 0 0 5194k 0 0:00:58 0:00:17 0:00:41 $'6257k\r' 31 294M 31 91.6M 0 0 5245k 0 0:00:57 0:00:17 0:00:40 $'6273k\r' 33 294M 33 97.4M 0 0 5275k 0 0:00:57 0:00:18 0:00:39 $'6277k\r' 36 294M 36 106M 0 0 5258k 0 0:00:57 0:00:20 0:00:37 $'6141k\r' 39 294M 39 116M 0 0 5321k 0 0:00:56 0:00:22 0:00:34 $'6799k\r' 42 294M 42 126M 0 0 5349k 0 0:00:56 0:00:24 0:00:32 $'5733k\r' 46 294M 46 135M 0 0 5533k 0 0:00:54 0:00:25 0:00:29 $'6242k\r' 49 294M 49 145M 0 0 5437k 0 0:00:55 0:00:27 0:00:28 $'5794k\r' 52 294M 52 155M 0 0 5541k 0 0:00:54 0:00:28 0:00:26 $'6275k\r' 56 294M 56 165M 0 0 5519k 0 0:00:54 0:00:30 0:00:24 $'6056k\r' 59 294M 59 174M 0 0 5688k 0 0:00:53 0:00:31 0:00:22 $'6805k\r' 60 294M 60 177M 0 0 5692k 0 0:00:53 0:00:31 0:00:22 $'6285k\r' 63 294M 63 187M 0 0 5701k 0 0:00:52 0:00:33 0:00:19 $'6877k\r' 66 294M 66 196M 0 0 5724k 0 0:00:52 0:00:35 0:00:17 $'6538k\r' 70 294M 70 206M 0 0 5736k 0 0:00:52 0:00:36 0:00:16 $'6807k\r' 70 294M 70 206M 0 0 5735k 0 0:00:52 0:00:36 0:00:16 $'6009k\r' 73 294M 73 216M 0 0 5753k 0 0:00:52 0:00:38 0:00:14 $'6046k\r' 76 294M 76 224M 0 0 5777k 0 0:00:52 0:00:39 0:00:13 $'6193k\r' 76 294M 76 225M 0 0 5775k 0 0:00:52 0:00:39 0:00:13 $'6153k\r' 77 294M 77 229M 0 0 5745k 0 0:00:52 0:00:40 0:00:12 $'5832k\r' 80 294M 80 236M 0 0 5737k 0 0:00:52 0:00:42 0:00:10 $'5749k\r' 83 294M 83 245M 0 0 5729k 0 0:00:52 0:00:43 0:00:09 $'5555k\r' 86 294M 86 255M 0 0 5728k 0 0:00:52 0:00:45 0:00:07 $'5400k\r' 89 294M 89 265M 0 0 5749k 0 0:00:52 0:00:47 0:00:05 $'5603k\r' 93 294M 93 274M 0 0 5781k 0 0:00:52 0:00:48 0:00:04 $'5965k\r' 96 294M 96 284M 0 0 5759k 0 0:00:52 0:00:50 0:00:02 $'5871k\r' 99 294M 99 294M 0 0 5807k 0 0:00:51 0:00:51 --:--:-- $'6238k\r100' 294M 100 294M 0 0 5815k 0 0:00:51 0:00:51 --:--:-- $'6447k\r100' 294M 100 294M 0 0 5815k 0 0:00:51 0:00:51 --:--:-- 6476k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 240222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 240222 ']' ++ '[' '!' -d 240222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8 +c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 23 42.8M 23 10.0M 0 0 2951k 0 0:00:14 0:00:03 0:00:11 2966k 38 42.8M 38 16.4M 0 0 3750k 0 0:00:11 0:00:04 0:00:07 3766k 62 42.8M 62 26.8M 0 0 4271k 0 0:00:10 0:00:06 0:00:04 4283k 85 42.8M 85 36.6M 0 0 4658k 0 0:00:09 0:00:08 0:00:01 4669k 100 42.8M 100 42.8M 0 0 5032k 0 0:00:08 0:00:08 --:--:-- 5889k 100 42.8M 100 42.8M 0 0 5030k 0 0:00:08 0:00:08 --:--:-- 6408k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.2024 +0223.0-ruyi.20240224' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8 c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 23 42.8M 23 10.0M 0 0 2951k 0 0:00:14 0:00:03 0:00:11 $'2966k\r' 38 42.8M 38 16.4M 0 0 3750k 0 0:00:11 0:00:04 0:00:07 $'3766k\r' 62 42.8M 62 26.8M 0 0 4271k 0 0:00:10 0:00:06 0:00:04 $'4283k\r' 85 42.8M 85 36.6M 0 0 4658k 0 0:00:09 0:00:08 0:00:01 $'4669k\r100' 42.8M 100 42.8M 0 0 5032k 0 0:00:08 0:00:08 --:--:-- $'5889k\r100' 42.8M 100 42.8M 0 0 5030k 0 0:00:08 0:00:08 --:--:-- 6408k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.2024 0223.0-ruyi.20240224 +++ awk '{print $NF}' +++ tail -n 1 ++ bp=0223.0-ruyi.20240224 ++ bpb=0223.0-ruyi.20240224/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8 c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 23 42.8M 23 10.0M 0 0 2951k 0 0:00:14 0:00:03 0:00:11 $'2966k\r' 38 42.8M 38 16.4M 0 0 3750k 0 0:00:11 0:00:04 0:00:07 $'3766k\r' 62 42.8M 62 26.8M 0 0 4271k 0 0:00:10 0:00:06 0:00:04 $'4283k\r' 85 42.8M 85 36.6M 0 0 4658k 0 0:00:09 0:00:08 0:00:01 $'4669k\r100' 42.8M 100 42.8M 0 0 5032k 0 0:00:08 0:00:08 --:--:-- $'5889k\r100' 42.8M 100 42.8M 0 0 5030k 0 0:00:08 0:00:08 --:--:-- 6408k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.2024 0223.0-ruyi.20240224 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 0223.0-ruyi.20240224 ']' ++ '[' '!' -d 0223.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for +host linux/riscv64' ++ retc=2 +++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check toolchain/llvm-upstream no binary for current host' ++ message='Check toolchain/llvm-upstream no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check toolchain/llvm-upstream no binary for current host' +Wed Apr 10 20:06:58 2024 - WARN - Check toolchain/llvm-upstream no binary for current host ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-system-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-system-riscv-upstream no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-system-riscv-upstream no binary for current host' +Wed Apr 10 20:07:41 2024 - WARN - Check emulator/qemu-system-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +declares no binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-xthead no binary for current host' ++ message='Check emulator/qemu-user-riscv-xthead no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-xthead no binary for current host' +Wed Apr 10 20:08:04 2024 - WARN - Check emulator/qemu-user-riscv-xthead no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-user-riscv-upstream no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-upstream no binary for current host' +Wed Apr 10 20:08:26 2024 - WARN - Check emulator/qemu-user-riscv-upstream no binary for current host ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 20:08:27 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 20:08:29 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 20:08:30 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 20:08:32 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 20:09:06 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-18_00_55.log b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-18_00_55.log new file mode 100644 index 00000000..5ce17668 --- /dev/null +++ b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-18_00_55.log @@ -0,0 +1,626 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 18:00:59 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 18:01:26 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 18:01:32 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 18:01:39 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 20.8M 1 308k 0 0 119k 0 0:02:59 0:00:02 0:02:57 120k 3 20.8M 3 740k 0 0 206k 0 0:01:43 0:00:03 0:01:40 208k 5 20.8M 5 1220k 0 0 266k 0 0:01:20 0:00:04 0:01:16 268k 8 20.8M 8 1764k 0 0 315k 0 0:01:07 0:00:05 0:01:02 422k 10 20.8M 10 2196k 0 0 333k 0 0:01:04 0:00:06 0:00:58 438k 11 20.8M 11 2564k 0 0 338k 0 0:01:03 0:00:07 0:00:56 450k 13 20.8M 13 2980k 0 0 345k 0 0:01:01 0:00:08 0:00:53 444k 16 20.8M 16 3428k 0 0 357k 0 0:00:59 0:00:09 0:00:50 441k 18 20.8M 18 4020k 0 0 379k 0 0:00:56 0:00:10 0:00:46 452k 21 20.8M 21 4596k 0 0 396k 0 0:00:53 0:00:11 0:00:42 481k 23 20.8M 23 5108k 0 0 405k 0 0:00:52 0:00:12 0:00:40 509k 26 20.8M 26 5636k 0 0 415k 0 0:00:51 0:00:13 0:00:38 535k 29 20.8M 29 6356k 0 0 435k 0 0:00:49 0:00:14 0:00:35 585k 32 20.8M 32 6980k 0 0 448k 0 0:00:47 0:00:15 0:00:32 592k 35 20.8M 35 7556k 0 0 454k 0 0:00:47 0:00:16 0:00:31 587k 37 20.8M 37 7988k 0 0 454k 0 0:00:47 0:00:17 0:00:30 576k 38 20.8M 38 8260k 0 0 444k 0 0:00:48 0:00:18 0:00:30 523k 40 20.8M 40 8660k 0 0 442k 0 0:00:48 0:00:19 0:00:29 460k 42 20.8M 42 9092k 0 0 441k 0 0:00:48 0:00:20 0:00:28 422k 45 20.8M 45 9812k 0 0 454k 0 0:00:47 0:00:21 0:00:26 454k 49 20.8M 49 10.2M 0 0 465k 0 0:00:45 0:00:22 0:00:23 505k 52 20.8M 52 10.9M 0 0 475k 0 0:00:44 0:00:23 0:00:21 590k 55 20.8M 55 11.6M 0 0 483k 0 0:00:44 0:00:24 0:00:20 647k 57 20.8M 57 12.0M 0 0 484k 0 0:00:44 0:00:25 0:00:19 659k 59 20.8M 59 12.5M 0 0 481k 0 0:00:44 0:00:26 0:00:18 598k 62 20.8M 62 13.0M 0 0 484k 0 0:00:44 0:00:27 0:00:17 569k 64 20.8M 64 13.4M 0 0 481k 0 0:00:44 0:00:28 0:00:16 511k 66 20.8M 66 13.9M 0 0 481k 0 0:00:44 0:00:29 0:00:15 470k 68 20.8M 68 14.2M 0 0 477k 0 0:00:44 0:00:30 0:00:14 443k 70 20.8M 70 14.7M 0 0 477k 0 0:00:44 0:00:31 0:00:13 455k 73 20.8M 73 15.2M 0 0 479k 0 0:00:44 0:00:32 0:00:12 454k 76 20.8M 76 15.8M 0 0 483k 0 0:00:44 0:00:33 0:00:11 494k 78 20.8M 78 16.3M 0 0 485k 0 0:00:44 0:00:34 0:00:10 508k 80 20.8M 80 16.9M 0 0 486k 0 0:00:43 0:00:35 0:00:08 542k 83 20.8M 83 17.3M 0 0 485k 0 0:00:44 0:00:36 0:00:08 537k 85 20.8M 85 17.9M 0 0 488k 0 0:00:43 0:00:37 0:00:06 546k 88 20.8M 88 18.5M 0 0 491k 0 0:00:43 0:00:38 0:00:05 546k 91 20.8M 91 19.1M 0 0 495k 0 0:00:43 0:00:39 0:00:04 567k 94 20.8M 94 19.7M 0 0 497k 0 0:00:42 0:00:40 0:00:02 575k 97 20.8M 97 20.2M 0 0 499k 0 0:00:42 0:00:41 0:00:01 598k 100 20.8M 100 20.8M 0 0 504k 0 0:00:42 0:00:42 --:--:-- 632k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpdjh_utn1 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpdjh_utn1 ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpdjh_utn1 ']' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpdjh_utn1 +Wed Apr 10 18:05:04 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpdjh_utn1 ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmpdjh_utn1 ']' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmpdjh_utn1 +Wed Apr 10 18:05:10 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpdjh_utn1 ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 18:05:12 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 18:05:13 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% +(207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% +(237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% +(266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% +(296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: +44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting +objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting +objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% +(436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% +(465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% +(495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% +(524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: +75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: +79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% +(100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 +-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 2 231M 2 5513k 0 0 2018k 0 0:01:57 0:00:02 0:01:55 2030k 3 231M 3 7129k 0 0 2297k 0 0:01:43 0:00:03 0:01:40 2309k 5 231M 5 11.7M 0 0 2919k 0 0:01:21 0:00:04 0:01:17 2931k 10 231M 10 23.8M 0 0 3857k 0 0:01:01 0:00:06 0:00:55 3867k 14 231M 14 33.6M 0 0 4117k 0 0:00:57 0:00:08 0:00:49 4823k 17 231M 17 40.9M 0 0 4462k 0 0:00:53 0:00:09 0:00:44 5464k 21 231M 21 49.1M 0 0 4660k 0 0:00:50 0:00:10 0:00:40 5612k 25 231M 25 58.5M 0 0 4744k 0 0:00:49 0:00:12 0:00:37 5627k 29 231M 29 68.3M 0 0 4787k 0 0:00:49 0:00:14 0:00:35 5498k 33 231M 33 78.0M 0 0 5154k 0 0:00:45 0:00:15 0:00:30 6370k 37 231M 37 87.4M 0 0 5127k 0 0:00:46 0:00:17 0:00:29 5900k 42 231M 42 97.2M 0 0 5285k 0 0:00:44 0:00:18 0:00:26 6126k 46 231M 46 107M 0 0 5272k 0 0:00:44 0:00:20 0:00:24 6092k 50 231M 50 116M 0 0 5324k 0 0:00:44 0:00:22 0:00:22 6325k 52 231M 52 121M 0 0 5361k 0 0:00:44 0:00:23 0:00:21 5774k 55 231M 55 127M 0 0 5344k 0 0:00:44 0:00:24 0:00:20 5892k 58 231M 58 135M 0 0 5355k 0 0:00:44 0:00:25 0:00:19 5543k 62 231M 62 144M 0 0 5369k 0 0:00:44 0:00:27 0:00:17 5663k 66 231M 66 154M 0 0 5409k 0 0:00:43 0:00:29 0:00:14 5693k 70 231M 70 163M 0 0 5376k 0 0:00:44 0:00:31 0:00:13 5420k 75 231M 75 173M 0 0 5537k 0 0:00:42 0:00:32 0:00:10 6145k 79 231M 79 183M 0 0 5559k 0 0:00:42 0:00:33 0:00:09 6224k 83 231M 83 193M 0 0 5591k 0 0:00:42 0:00:35 0:00:07 6378k 85 231M 85 197M 0 0 5599k 0 0:00:42 0:00:36 0:00:06 6399k 87 231M 87 202M 0 0 5596k 0 0:00:42 0:00:37 0:00:05 6759k 92 231M 92 213M 0 0 5607k 0 0:00:42 0:00:38 0:00:04 5937k 92 231M 92 213M 0 0 5165k 0 0:00:45 0:00:42 0:00:03 3599k 96 231M 96 222M 0 0 5228k 0 0:00:45 0:00:43 0:00:02 3669k 97 231M 97 224M 0 0 5212k 0 0:00:45 0:00:44 0:00:01 3464k 98 231M 98 228M 0 0 5188k 0 0:00:45 0:00:45 --:--:-- 3293k 100 231M 100 231M 0 0 5181k 0 0:00:45 0:00:45 --:--:-- 2714k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 +.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 294M 0 315k 0 0 145k 0 0:34:34 0:00:02 0:34:32 146k 0 294M 0 763k 0 0 241k 0 0:20:50 0:00:03 0:20:47 242k 0 294M 0 763k 0 0 160k 0 0:31:17 0:00:04 0:31:13 161k 0 294M 0 1819k 0 0 352k 0 0:14:17 0:00:05 0:14:12 353k 0 294M 0 2235k 0 0 362k 0 0:13:52 0:00:06 0:13:46 453k 0 294M 0 2763k 0 0 385k 0 0:13:02 0:00:07 0:12:55 489k 1 294M 1 3467k 0 0 424k 0 0:11:51 0:00:08 0:11:43 540k 1 294M 1 4091k 0 0 446k 0 0:11:16 0:00:09 0:11:07 752k 1 294M 1 4699k 0 0 462k 0 0:10:53 0:00:10 0:10:43 575k 1 294M 1 5259k 0 0 470k 0 0:10:41 0:00:11 0:10:30 604k 1 294M 1 5899k 0 0 484k 0 0:10:22 0:00:12 0:10:10 627k 2 294M 2 6571k 0 0 498k 0 0:10:05 0:00:13 0:09:52 620k 2 294M 2 7307k 0 0 515k 0 0:09:45 0:00:14 0:09:31 643k 2 294M 2 8011k 0 0 528k 0 0:09:31 0:00:15 0:09:16 662k 2 294M 2 8507k 0 0 526k 0 0:09:33 0:00:16 0:09:17 650k 2 294M 2 9003k 0 0 524k 0 0:09:35 0:00:17 0:09:18 621k 3 294M 3 9.8M 0 0 520k 0 0:09:40 0:00:19 0:09:21 564k 3 294M 3 10.3M 0 0 525k 0 0:09:34 0:00:20 0:09:14 549k 3 294M 3 10.9M 0 0 530k 0 0:09:29 0:00:21 0:09:08 535k 3 294M 3 11.4M 0 0 530k 0 0:09:29 0:00:22 0:09:07 540k 4 294M 4 11.9M 0 0 528k 0 0:09:31 0:00:23 0:09:08 540k 4 294M 4 12.4M 0 0 528k 0 0:09:31 0:00:24 0:09:07 560k 4 294M 4 12.7M 0 0 520k 0 0:09:40 0:00:25 0:09:15 498k 4 294M 4 12.9M 0 0 505k 0 0:09:57 0:00:26 0:09:31 397k 4 294M 4 13.1M 0 0 497k 0 0:10:07 0:00:27 0:09:40 352k 4 294M 4 13.5M 0 0 491k 0 0:10:14 0:00:28 0:09:46 320k 4 294M 4 14.0M 0 0 491k 0 0:10:13 0:00:29 0:09:44 317k 4 294M 4 14.3M 0 0 487k 0 0:10:18 0:00:30 0:09:48 323k 5 294M 5 14.9M 0 0 491k 0 0:10:13 0:00:31 0:09:42 423k 5 294M 5 15.6M 0 0 496k 0 0:10:07 0:00:32 0:09:35 493k 5 294M 5 16.1M 0 0 499k 0 0:10:04 0:00:33 0:09:31 544k 5 294M 5 16.8M 0 0 506k 0 0:09:56 0:00:34 0:09:22 588k 5 294M 5 17.2M 0 0 502k 0 0:10:00 0:00:35 0:09:25 589k 5 294M 5 17.6M 0 0 499k 0 0:10:04 0:00:36 0:09:28 548k 6 294M 6 18.1M 0 0 499k 0 0:10:04 0:00:37 0:09:27 518k 6 294M 6 18.6M 0 0 501k 0 0:10:01 0:00:38 0:09:23 515k 6 294M 6 19.0M 0 0 497k 0 0:10:07 0:00:39 0:09:28 435k 6 294M 6 19.2M 0 0 490k 0 0:10:15 0:00:40 0:09:35 403k 6 294M 6 19.5M 0 0 487k 0 0:10:19 0:00:41 0:09:38 396k 6 294M 6 20.2M 0 0 492k 0 0:10:12 0:00:42 0:09:30 441k 7 294M 7 20.9M 0 0 496k 0 0:10:08 0:00:43 0:09:25 454k 7 294M 7 21.6M 0 0 500k 0 0:10:02 0:00:44 0:09:18 531k 7 294M 7 22.3M 0 0 506k 0 0:09:55 0:00:45 0:09:10 641k 7 294M 7 22.9M 0 0 509k 0 0:09:52 0:00:46 0:09:06 690k 7 294M 7 23.5M 0 0 511k 0 0:09:50 0:00:47 0:09:03 667k 8 294M 8 23.9M 0 0 508k 0 0:09:53 0:00:48 0:09:05 617k 8 294M 8 24.2M 0 0 504k 0 0:09:58 0:00:49 0:09:09 537k 8 294M 8 24.5M 0 0 501k 0 0:10:01 0:00:50 0:09:11 454k 8 294M 8 24.9M 0 0 499k 0 0:10:04 0:00:51 0:09:13 412k 8 294M 8 25.3M 0 0 497k 0 0:10:06 0:00:52 0:09:14 365k 8 294M 8 25.7M 0 0 495k 0 0:10:08 0:00:53 0:09:15 371k 8 294M 8 26.2M 0 0 496k 0 0:10:07 0:00:54 0:09:13 419k 9 294M 9 26.8M 0 0 498k 0 0:10:06 0:00:55 0:09:11 462k 9 294M 9 27.2M 0 0 496k 0 0:10:08 0:00:56 0:09:12 462k 9 294M 9 27.5M 0 0 493k 0 0:10:11 0:00:57 0:09:14 450k 9 294M 9 28.1M 0 0 494k 0 0:10:10 0:00:58 0:09:12 481k 9 294M 9 28.7M 0 0 497k 0 0:10:06 0:00:59 0:09:07 505k 10 294M 10 29.5M 0 0 502k 0 0:10:01 0:01:00 0:09:01 548k 10 294M 10 30.1M 0 0 503k 0 0:09:59 0:01:01 0:08:58 588k 10 294M 10 30.6M 0 0 504k 0 0:09:58 0:01:02 0:08:56 633k 10 294M 10 31.0M 0 0 503k 0 0:09:59 0:01:03 0:08:56 605k 10 294M 10 31.3M 0 0 500k 0 0:10:03 0:01:04 0:08:59 533k 10 294M 10 31.6M 0 0 497k 0 0:10:07 0:01:05 0:09:02 438k 10 294M 10 32.1M 0 0 497k 0 0:10:07 0:01:06 0:09:01 412k 11 294M 11 32.7M 0 0 499k 0 0:10:04 0:01:07 0:08:57 432k 11 294M 11 33.5M 0 0 504k 0 0:09:58 0:01:08 0:08:50 514k 11 294M 11 34.1M 0 0 505k 0 0:09:57 0:01:09 0:08:48 574k 11 294M 11 34.6M 0 0 506k 0 0:09:56 0:01:10 0:08:46 624k 11 294M 11 35.3M 0 0 508k 0 0:09:54 0:01:11 0:08:43 655k 12 294M 12 35.8M 0 0 508k 0 0:09:54 0:01:12 0:08:42 626k 12 294M 12 36.1M 0 0 505k 0 0:09:57 0:01:13 0:08:44 521k 12 294M 12 36.4M 0 0 503k 0 0:09:59 0:01:14 0:08:45 473k 12 294M 12 36.8M 0 0 501k 0 0:10:01 0:01:15 0:08:46 435k 12 294M 12 37.4M 0 0 503k 0 0:09:59 0:01:16 0:08:43 438k 12 294M 12 38.1M 0 0 506k 0 0:09:55 0:01:17 0:08:38 489k 13 294M 13 38.8M 0 0 509k 0 0:09:53 0:01:18 0:08:35 560k 13 294M 13 39.4M 0 0 509k 0 0:09:52 0:01:19 0:08:33 603k 13 294M 13 39.8M 0 0 508k 0 0:09:53 0:01:20 0:08:33 613k 13 294M 13 40.3M 0 0 508k 0 0:09:53 0:01:21 0:08:32 582k 13 294M 13 40.9M 0 0 510k 0 0:09:51 0:01:22 0:08:29 559k 14 294M 14 41.4M 0 0 510k 0 0:09:51 0:01:23 0:08:28 533k 14 294M 14 41.9M 0 0 510k 0 0:09:50 0:01:24 0:08:26 527k 14 294M 14 42.5M 0 0 511k 0 0:09:49 0:01:25 0:08:24 560k 14 294M 14 42.9M 0 0 510k 0 0:09:51 0:01:26 0:08:25 537k 14 294M 14 43.3M 0 0 509k 0 0:09:52 0:01:27 0:08:25 499k 14 294M 14 43.7M 0 0 508k 0 0:09:54 0:01:28 0:08:26 470k 14 294M 14 44.0M 0 0 505k 0 0:09:56 0:01:29 0:08:27 423k 15 294M 15 44.4M 0 0 504k 0 0:09:58 0:01:30 0:08:28 376k 15 294M 15 44.8M 0 0 503k 0 0:09:59 0:01:31 0:08:28 387k 15 294M 15 45.4M 0 0 504k 0 0:09:58 0:01:32 0:08:26 417k 15 294M 15 45.8M 0 0 503k 0 0:09:59 0:01:33 0:08:26 423k 15 294M 15 46.3M 0 0 503k 0 0:09:59 0:01:34 0:08:25 464k 15 294M 15 46.9M 0 0 504k 0 0:09:58 0:01:35 0:08:23 513k 16 294M 16 47.7M 0 0 508k 0 0:09:54 0:01:36 0:08:18 595k 16 294M 16 48.5M 0 0 511k 0 0:09:49 0:01:37 0:08:12 646k 16 294M 16 49.3M 0 0 514k 0 0:09:47 0:01:38 0:08:09 709k 16 294M 16 49.9M 0 0 515k 0 0:09:45 0:01:39 0:08:06 739k 17 294M 17 50.6M 0 0 517k 0 0:09:43 0:01:40 0:08:03 758k 17 294M 17 51.6M 0 0 523k 0 0:09:36 0:01:41 0:07:55 813k 18 294M 18 53.6M 0 0 537k 0 0:09:21 0:01:42 0:07:39 1032k 19 294M 19 56.2M 0 0 557k 0 0:09:01 0:01:43 0:07:18 1422k 20 294M 20 59.5M 0 0 585k 0 0:08:35 0:01:44 0:06:51 1963k 21 294M 21 63.6M 0 0 619k 0 0:08:07 0:01:45 0:06:22 2670k 24 294M 24 71.6M 0 0 685k 0 0:07:20 0:01:47 0:05:33 3478k 24 294M 24 71.8M 0 0 686k 0 0:07:20 0:01:47 0:05:33 3725k 24 294M 24 72.5M 0 0 686k 0 0:07:19 0:01:48 0:05:31 3323k 24 294M 24 73.0M 0 0 685k 0 0:07:20 0:01:49 0:05:31 2767k 24 294M 24 73.6M 0 0 684k 0 0:07:21 0:01:50 0:05:31 2045k 25 294M 25 74.2M 0 0 683k 0 0:07:21 0:01:51 0:05:30 639k 25 294M 25 74.8M 0 0 683k 0 0:07:21 0:01:52 0:05:29 631k 25 294M 25 75.7M 0 0 685k 0 0:07:20 0:01:53 0:05:27 661k 25 294M 25 76.5M 0 0 686k 0 0:07:19 0:01:54 0:05:25 711k 26 294M 26 77.1M 0 0 686k 0 0:07:19 0:01:55 0:05:24 724k 26 294M 26 78.1M 0 0 688k 0 0:07:18 0:01:56 0:05:22 791k 26 294M 26 78.9M 0 0 690k 0 0:07:17 0:01:57 0:05:20 835k 27 294M 27 79.9M 0 0 692k 0 0:07:16 0:01:58 0:05:18 854k 27 294M 27 80.7M 0 0 693k 0 0:07:15 0:01:59 0:05:16 870k 27 294M 27 81.6M 0 0 695k 0 0:07:13 0:02:00 0:05:13 915k 27 294M 27 82.2M 0 0 695k 0 0:07:14 0:02:01 0:05:13 851k 28 294M 28 82.8M 0 0 694k 0 0:07:14 0:02:02 0:05:12 790k 28 294M 28 83.2M 0 0 691k 0 0:07:16 0:02:03 0:05:13 678k 28 294M 28 83.7M 0 0 690k 0 0:07:17 0:02:04 0:05:13 607k 28 294M 28 84.1M 0 0 688k 0 0:07:18 0:02:05 0:05:13 518k 28 294M 28 84.8M 0 0 688k 0 0:07:18 0:02:06 0:05:12 534k 28 294M 28 85.4M 0 0 688k 0 0:07:18 0:02:07 0:05:11 547k 29 294M 29 85.9M 0 0 686k 0 0:07:19 0:02:08 0:05:11 565k 29 294M 29 86.5M 0 0 686k 0 0:07:19 0:02:09 0:05:10 579k 29 294M 29 87.0M 0 0 684k 0 0:07:20 0:02:10 0:05:10 588k 29 294M 29 87.4M 0 0 682k 0 0:07:22 0:02:11 0:05:11 534k 29 294M 29 88.0M 0 0 682k 0 0:07:22 0:02:12 0:05:10 518k 30 294M 30 88.5M 0 0 681k 0 0:07:23 0:02:13 0:05:10 535k 30 294M 30 89.1M 0 0 680k 0 0:07:23 0:02:14 0:05:09 534k 30 294M 30 89.7M 0 0 679k 0 0:07:24 0:02:15 0:05:09 546k 30 294M 30 90.4M 0 0 679k 0 0:07:24 0:02:16 0:05:08 600k 30 294M 30 91.0M 0 0 679k 0 0:07:24 0:02:17 0:05:07 611k 31 294M 31 91.6M 0 0 679k 0 0:07:24 0:02:18 0:05:06 633k 31 294M 31 92.2M 0 0 678k 0 0:07:24 0:02:19 0:05:05 636k 31 294M 31 92.9M 0 0 679k 0 0:07:24 0:02:20 0:05:04 659k 31 294M 31 93.6M 0 0 679k 0 0:07:24 0:02:21 0:05:03 666k 32 294M 32 94.3M 0 0 679k 0 0:07:24 0:02:22 0:05:02 691k 32 294M 32 95.1M 0 0 680k 0 0:07:23 0:02:23 0:05:00 701k 32 294M 32 95.8M 0 0 680k 0 0:07:23 0:02:24 0:04:59 723k 32 294M 32 96.8M 0 0 683k 0 0:07:21 0:02:25 0:04:56 800k 33 294M 33 98.0M 0 0 686k 0 0:07:19 0:02:26 0:04:53 895k 33 294M 33 99.2M 0 0 690k 0 0:07:17 0:02:27 0:04:50 995k 34 294M 34 100M 0 0 693k 0 0:07:15 0:02:28 0:04:47 1058k 34 294M 34 101M 0 0 694k 0 0:07:14 0:02:29 0:04:45 1109k 34 294M 34 102M 0 0 697k 0 0:07:12 0:02:30 0:04:42 1115k 35 294M 35 103M 0 0 701k 0 0:07:10 0:02:31 0:04:39 1133k 35 294M 35 104M 0 0 705k 0 0:07:08 0:02:32 0:04:36 1129k 36 294M 36 106M 0 0 710k 0 0:07:04 0:02:33 0:04:31 1232k 36 294M 36 108M 0 0 716k 0 0:07:01 0:02:34 0:04:27 1330k 36 294M 36 109M 0 0 719k 0 0:06:59 0:02:35 0:04:24 1381k 37 294M 37 109M 0 0 720k 0 0:06:58 0:02:36 0:04:22 1303k 37 294M 37 110M 0 0 723k 0 0:06:57 0:02:37 0:04:20 1272k 37 294M 37 111M 0 0 724k 0 0:06:56 0:02:38 0:04:18 1164k 38 294M 38 112M 0 0 724k 0 0:06:56 0:02:39 0:04:17 996k 38 294M 38 113M 0 0 726k 0 0:06:55 0:02:40 0:04:15 954k 38 294M 38 114M 0 0 729k 0 0:06:53 0:02:41 0:04:12 996k 39 294M 39 115M 0 0 732k 0 0:06:52 0:02:42 0:04:10 1015k 39 294M 39 117M 0 0 734k 0 0:06:50 0:02:43 0:04:07 1039k 39 294M 39 117M 0 0 734k 0 0:06:50 0:02:44 0:04:06 1043k 40 294M 40 118M 0 0 735k 0 0:06:50 0:02:45 0:04:05 1023k 40 294M 40 119M 0 0 737k 0 0:06:49 0:02:46 0:04:03 995k 40 294M 40 120M 0 0 738k 0 0:06:48 0:02:47 0:04:01 953k 41 294M 41 121M 0 0 739k 0 0:06:48 0:02:48 0:04:00 896k 41 294M 41 122M 0 0 740k 0 0:06:47 0:02:49 0:03:58 925k 41 294M 41 123M 0 0 740k 0 0:06:47 0:02:50 0:03:57 902k 42 294M 42 123M 0 0 741k 0 0:06:47 0:02:51 0:03:56 863k 42 294M 42 124M 0 0 741k 0 0:06:47 0:02:52 0:03:55 822k 42 294M 42 125M 0 0 740k 0 0:06:47 0:02:53 0:03:54 792k 42 294M 42 125M 0 0 740k 0 0:06:47 0:02:54 0:03:53 744k 42 294M 42 126M 0 0 741k 0 0:06:47 0:02:55 0:03:52 752k 43 294M 43 127M 0 0 742k 0 0:06:46 0:02:56 0:03:50 774k 43 294M 43 128M 0 0 743k 0 0:06:46 0:02:57 0:03:49 815k 43 294M 43 129M 0 0 742k 0 0:06:46 0:02:58 0:03:48 809k 44 294M 44 130M 0 0 746k 0 0:06:44 0:02:59 0:03:45 947k 44 294M 44 132M 0 0 753k 0 0:06:40 0:03:00 0:03:40 1203k 45 294M 45 135M 0 0 766k 0 0:06:34 0:03:01 0:03:33 1609k 47 294M 47 139M 0 0 782k 0 0:06:25 0:03:02 0:03:23 2168k 48 294M 48 143M 0 0 802k 0 0:06:16 0:03:03 0:03:13 2918k 51 294M 51 150M 0 0 835k 0 0:06:01 0:03:04 0:02:57 3766k 51 294M 51 153M 0 0 846k 0 0:05:56 0:03:05 0:02:51 4169k 53 294M 53 158M 0 0 872k 0 0:05:46 0:03:06 0:02:40 4600k 55 294M 55 162M 0 0 889k 0 0:05:39 0:03:07 0:02:32 4799k 56 294M 56 167M 0 0 909k 0 0:05:31 0:03:08 0:02:23 4835k 58 294M 58 171M 0 0 928k 0 0:05:25 0:03:09 0:02:16 4688k 59 294M 59 175M 0 0 947k 0 0:05:18 0:03:10 0:02:08 4680k 61 294M 61 180M 0 0 969k 0 0:05:11 0:03:11 0:02:00 4686k 63 294M 63 186M 0 0 992k 0 0:05:04 0:03:12 0:01:52 4837k 64 294M 64 191M 0 0 1014k 0 0:04:57 0:03:13 0:01:44 4950k 66 294M 66 196M 0 0 1037k 0 0:04:51 0:03:14 0:01:37 5125k 68 294M 68 201M 0 0 1059k 0 0:04:44 0:03:15 0:01:29 5314k 70 294M 70 206M 0 0 1078k 0 0:04:40 0:03:16 0:01:24 5261k 71 294M 71 212M 0 0 1101k 0 0:04:34 0:03:17 0:01:17 5232k 73 294M 73 217M 0 0 1123k 0 0:04:28 0:03:18 0:01:10 5271k 75 294M 75 221M 0 0 1138k 0 0:04:25 0:03:19 0:01:06 5093k 76 294M 76 224M 0 0 1150k 0 0:04:22 0:03:20 0:01:02 4717k 77 294M 77 228M 0 0 1163k 0 0:04:19 0:03:21 0:00:58 4490k 78 294M 78 232M 0 0 1179k 0 0:04:16 0:03:22 0:00:54 4298k 80 294M 80 237M 0 0 1195k 0 0:04:12 0:03:23 0:00:49 4120k 81 294M 81 240M 0 0 1208k 0 0:04:09 0:03:24 0:00:45 4003k 82 294M 82 244M 0 0 1221k 0 0:04:07 0:03:25 0:00:42 4057k 84 294M 84 249M 0 0 1237k 0 0:04:03 0:03:26 0:00:37 4235k 86 294M 86 254M 0 0 1258k 0 0:03:59 0:03:27 0:00:32 4407k 89 294M 89 265M 0 0 1297k 0 0:03:52 0:03:29 0:00:23 4813k 89 294M 89 265M 0 0 1297k 0 0:03:52 0:03:29 0:00:23 4885k 91 294M 91 270M 0 0 1319k 0 0:03:48 0:03:30 0:00:18 5330k 93 294M 93 276M 0 0 1337k 0 0:03:45 0:03:31 0:00:14 5324k 94 294M 94 280M 0 0 1351k 0 0:03:43 0:03:32 0:00:11 5282k 96 294M 96 284M 0 0 1366k 0 0:03:40 0:03:33 0:00:07 4845k 100 294M 100 294M 0 0 1403k 0 0:03:35 0:03:35 --:--:-- 5139k 100 294M 100 294M 0 0 1403k 0 0:03:35 0:03:35 --:--:-- 4935k 100 294M 100 294M 0 0 1403k 0 0:03:35 0:03:35 --:--:-- 5006k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 +240222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ru +yi/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/openeuler/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 391k 100 391k 0 0 183k 0 0:00:02 0:00:02 --:--:-- 184k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=9c635b0506f42e64cf04372c637dc42e18d599e8, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ru +yi/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.24.3 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[2/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[3/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[6/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[9/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[10/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[21/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[22/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[25/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[28/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[33/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[35/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[40/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[41/93] Linking C shared library libz.so.1.3.0.zlib-ng +[42/93] Creating library symlink libz.so.1 libz.so +[43/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[73/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[74/93] Building C object test/CMakeFiles/example.dir/example.c.o +[75/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[76/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[77/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[78/93] Linking C executable example +[79/93] Linking C executable switchlevels +[80/93] Linking C executable minideflate +[81/93] Linking C static library libz.a +[82/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[85/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[86/93] Linking C executable minigzip +[87/93] Linking C executable infcover +[88/93] Linking C executable makefixed +[89/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[90/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[91/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[92/93] Linking C executable makecrct +[93/93] Linking C executable maketrees ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1.3.0.zlib-ng +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1 +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.a +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/pkgconfig/zlib.pc +++ pwd ++ ls /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 18:50:20 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 18:50:21 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 18:50:23 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpdjh_utn1 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjh_utn1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjh_utn1 +Wed Apr 10 18:51:01 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjh_utn1 +Wed Apr 10 18:51:08 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpdjh_utn1 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjh_utn1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjh_utn1 +Wed Apr 10 18:51:54 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjh_utn1 +Wed Apr 10 18:52:00 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 18:52:02 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-20_37_16.log b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-20_37_16.log new file mode 100644 index 00000000..56067a97 --- /dev/null +++ b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-20_37_16.log @@ -0,0 +1,904 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 20:37:20 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:37:47 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:37:53 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:38:00 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 52 20.8M 52 10.9M 0 0 2859k 0 0:00:07 0:00:03 0:00:04 2875k 84 20.8M 84 17.6M 0 0 3614k 0 0:00:05 0:00:05 --:--:-- 3629k 100 20.8M 100 20.8M 0 0 3821k 0 0:00:05 0:00:05 --:--:-- 3836k 100 20.8M 100 20.8M 0 0 3815k 0 0:00:05 0:00:05 --:--:-- 5008k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 20:38:09 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 20:38:11 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting +objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ '[' -d /home/openeuler/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-upstream +gnu-plct +gnu-plct-xthead +gnu-plct-rv64ilp32-elf +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ++ '[' '!' -z ' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ']' ++ pkgname=gnu-upstream ++ break ++ '[' -z gnu-upstream ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ri +scv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ri +scv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/openeuler/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b +17125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 671 100 671 0 0 437 0 0:00:01 0:00:01 --:--:-- 442 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/openeuler/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/openeuler/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/openeuler/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:50:52 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:50:58 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:51:05 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 47 20.8M 47 9.9M 0 0 2336k 0 0:00:09 0:00:04 0:00:05 2345k 69 20.8M 69 14.4M 0 0 2818k 0 0:00:07 0:00:05 0:00:02 2827k 85 20.8M 85 17.8M 0 0 2917k 0 0:00:07 0:00:06 0:00:01 2925k 100 20.8M 100 20.8M 0 0 3042k 0 0:00:07 0:00:07 --:--:-- 3050k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/openeuler/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/openeuler/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/openeuler/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 20:51:49 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 20:51:51 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 20:51:52 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 20:51:53 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 20:51:56 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-20_09_14.log b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-20_09_14.log new file mode 100644 index 00000000..0423a835 --- /dev/null +++ b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-20_09_14.log @@ -0,0 +1,249 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 20:09:18 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:09:46 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:09:53 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 20:09:59 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 47 20.8M 47 9.9M 0 0 2791k 0 0:00:07 0:00:03 0:00:04 2805k 65 20.8M 65 13.6M 0 0 3147k 0 0:00:06 0:00:04 0:00:02 3159k 85 20.8M 85 17.9M 0 0 3367k 0 0:00:06 0:00:05 0:00:01 3378k 100 20.8M 100 20.8M 0 0 3528k 0 0:00:06 0:00:06 --:--:-- 4464k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 20:10:09 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 20:10:11 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ cfg_d=/home/openeuler/.config/ruyi ++ cfg_f=/home/openeuler/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ cc_dir=/home/openeuler/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/openeuler/.config/ruyi ']' ++ mkdir -p /home/openeuler/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting +objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/openeuler/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 20:11:27 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 20:11:29 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 20:11:30 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 20:11:32 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 20:11:35 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-19_20_54.log b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-19_20_54.log new file mode 100644 index 00000000..495ca56f --- /dev/null +++ b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-19_20_54.log @@ -0,0 +1,2793 @@ ++ source ./common/device_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 19:20:58 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 19:21:23 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 19:21:30 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 19:21:36 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 20.8M 0 91224 0 0 58043 0 0:06:17 0:00:01 0:06:16 58627 46 20.8M 46 9941k 0 0 2830k 0 0:00:07 0:00:03 0:00:04 2844k 84 20.8M 84 17.6M 0 0 3794k 0 0:00:05 0:00:04 0:00:01 3806k 100 20.8M 100 20.8M 0 0 3999k 0 0:00:05 0:00:05 --:--:-- 4012k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 19:21:45 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 19:21:46 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% +(97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ kill -9 6111 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 9.9M 15.2M 24.5M 33.6M 43.5M 53.0M 62.7M 72.5M 82.2M 92.0M 98.3M 99.0M 103M 111M 120M 130M 140M 149M 159M 169M 179M 188M 198M 207M 217M 227M ' +++ echo Received Spent 0 0 0 9.9M 15.2M 24.5M 33.6M 43.5M 53.0M 62.7M 72.5M 82.2M 92.0M 98.3M 99.0M 103M 111M 120M 130M 140M 149M 159M 169M 179M 188M 198M 207M 217M 227M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 9.9M =~ [0-9]+ ]] ++ [[ 9.9M != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 6109 Done nohup echo -e "$now_exec" + 6110 Exit 120 | ruyi device provision 2>&1 + 6111 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ kill -9 6244 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 10.0M 14.6M 25.6M 35.3M 45.1M 54.9M 64.5M 74.3M 83.5M 90.6M 100M 109M 119M 129M 138M 158M 168M 177M 187M 196M 206M 216M 225M 235M ' +++ echo Received Spent 0 0 10.0M 14.6M 25.6M 35.3M 45.1M 54.9M 64.5M 74.3M 83.5M 90.6M 100M 109M 119M 129M 138M 158M 168M 177M 187M 196M 206M 216M 225M 235M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 10.0M =~ [0-9]+ ]] ++ [[ 10.0M != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ echo -e 'y\n2' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ tail -1 +++ awk '{print $2}' +++ grep Proceed /tmp/ruyi_device/output ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 6242 Done nohup echo -e "$now_exec" + 6243 Exit 120 | ruyi device provision 2>&1 + 6244 Killed | tee > /tmp/ruyi_device/output ++ kill -9 6436 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 3423k 9887k 15.9M 23.8M 30.1M 36.4M 44.3M 50.6M 56.9M 64.8M 71.2M 79.0M 85.4M 93.2M 99.6M 107M 113M 121M 128M 134M 142M 148M 154M 162M 169M 176M 183M 187M 194M 200M 206M 209M ' +++ echo Received Spent 0 0 0 3423k 9887k 15.9M 23.8M 30.1M 36.4M 44.3M 50.6M 56.9M 64.8M 71.2M 79.0M 85.4M 93.2M 99.6M 107M 113M 121M 128M 134M 142M 148M 154M 162M 169M 176M 183M 187M 194M 200M 206M 209M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3423k =~ [0-9]+ ]] ++ [[ 3423k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 6434 Done nohup echo -e "$now_exec" + 6435 Exit 120 | ruyi device provision 2>&1 + 6436 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 6572 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 2655k 9119k 15.2M 21.5M 27.8M 34.1M 40.4M 46.7M 53.0M 59.4M 65.7M 72.0M 78.3M 84.6M 90.9M 97.2M 103M 109M 116M 122M 128M 133M 140M 145M 151M 157M 163M 170M 176M 182M 189M 194M ' +++ echo Received Spent 0 0 0 2655k 9119k 15.2M 21.5M 27.8M 34.1M 40.4M 46.7M 53.0M 59.4M 65.7M 72.0M 78.3M 84.6M 90.9M 97.2M 103M 109M 116M 122M 128M 133M 140M 145M 151M 157M 163M 170M 176M 182M 189M 194M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2655k =~ [0-9]+ ]] ++ [[ 2655k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ sed 's$/$_$g' +++ echo -E y212y ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 6570 Done nohup echo -e "$now_exec" + 6571 Exit 120 | ruyi device provision 2>&1 + 6572 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 6786 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Received +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 5503 97040 558k 2526k 9166k 11.3M 14.5M 20.0M 21.7M 24.4M 30.1M 30.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 5503 97040 558k 2526k 9166k 11.3M 14.5M 20.0M 21.7M 24.4M 30.1M 30.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 5503 =~ [0-9]+ ]] ++ [[ 5503 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 6784 Done nohup echo -e "$now_exec" + 6785 Exit 120 | ruyi device provision 2>&1 + 6786 Killed | tee > /tmp/ruyi_device/output ++ kill -9 6919 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 16375 143k 671k 3200k 7424k 11.2M 17.7M 19.6M 23.4M 25.0M 27.0M 29.9M 32.2M 34.0M 36.1M 37.8M 38.9M 42.6M 46.9M 49.8M 51.8M 54.9M 56.4M 59.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 16375 143k 671k 3200k 7424k 11.2M 17.7M 19.6M 23.4M 25.0M 27.0M 29.9M 32.2M 34.0M 36.1M 37.8M 38.9M 42.6M 46.9M 49.8M 51.8M 54.9M 56.4M 59.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 16375 =~ [0-9]+ ]] ++ [[ 16375 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ sed 's$/$_$g' +++ echo -E y312n ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 6917 Done nohup echo -e "$now_exec" + 6918 Exit 120 | ruyi device provision 2>&1 + 6919 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7081 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 0 161k 2157k 7821k 11.4M 14.7M 18.9M 23.5M 27.4M 30.4M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 0 161k 2157k 7821k 11.4M 14.7M 18.9M 23.5M 27.4M 30.4M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 161k =~ [0-9]+ ]] ++ [[ 161k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 7079 Done nohup echo -e "$now_exec" + 7080 Exit 120 | ruyi device provision 2>&1 + 7081 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ awk '{print $2}' +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7216 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 98286 1183k 4079k 7887k 10.1M 12.8M 15.4M 18.0M 21.0M 24.7M 27.3M 30.4M 32.7M 34.7M 37.3M 41.9M 44.4M 47.1M 47.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 98286 1183k 4079k 7887k 10.1M 12.8M 15.4M 18.0M 21.0M 24.7M 27.3M 30.4M 32.7M 34.7M 37.3M 41.9M 44.4M 47.1M 47.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 98286 =~ [0-9]+ ]] ++ [[ 98286 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 7214 Done nohup echo -e "$now_exec" + 7215 Exit 120 | ruyi device provision 2>&1 + 7216 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ kill -9 7406 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 57411 400k 4992k 8048k 11.4M 13.7M 15.3M 20.4M 26.8M 29.0M 31.0M 32.8M 36.3M 41.0M 44.8M 47.1M 51.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 57411 400k 4992k 8048k 11.4M 13.7M 15.3M 20.4M 26.8M 29.0M 31.0M 32.8M 36.3M 41.0M 44.8M 47.1M 51.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 57411 =~ [0-9]+ ]] ++ [[ 57411 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf /home/openeuler/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ sed 's$/$_$g' +++ echo -E y411n ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +./common/device_lib.sh: line 152: 7404 Done nohup echo -e "$now_exec" + 7405 Exit 120 | ruyi device provision 2>&1 + 7406 Killed | tee > /tmp/ruyi_device/output +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-19:42:45.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 19:42:47 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 19:42:49 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 19:42:50 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 19:42:52 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 19:42:55 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-19_42_45.tar.gz b/20240408/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-19_42_45.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..20c2d8a82cd5834cfbff3e01079d8f776a5a5347 GIT binary patch literal 6946 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 /lib64/libdl.so.2 (0x00007f96ebfba000) + libc.so.6 => /lib64/libc.so.6 (0x00007f96ebc00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f96ec0e8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2175afe16c672249f8fd4db8a7032c7f4f89a2af, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00007ffca259c000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f8f1a190000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8f19e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8f1a2c5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73da7e46ec0c9cae37a62209630b1ad35bfab6b7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00007ffc5b3f6000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f504a7c0000) + libc.so.6 => /lib64/libc.so.6 (0x00007f504a400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f504a9a1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffdf5d0d000) + libc.so.6 => /lib64/libc.so.6 (0x00007f834f600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f834f9af000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a13377b5b9f486ad8611315353362c659052be30, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffc8e5b0000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f4e6c74e000) + libc.so.6 => /lib64/libc.so.6 (0x00007f4e6c400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f4e6c883000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=72577a0fc73c81cc30e3f54daf7d2e6ac16827ba, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffdddf92000) + libc.so.6 => /lib64/libc.so.6 (0x00007f3306a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f3306d99000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c566a5bada78e0b87b97ae9c33d6f4ac8b9e2ebb, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00007fffc6ad0000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe178e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe1790b2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffc29b85000) + libc.so.6 => /lib64/libc.so.6 (0x00007f64dfe00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f64e0219000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffdbbd9f000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe9f7400000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe9f77ee000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00007ffce4ba2000) + libc.so.6 => /lib64/libc.so.6 (0x00007f31b5c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f31b5f3a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f758862ad25799082d6a801946bd5a68c1adf0ef, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffe799de000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9781400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f97817ce000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b979aa47138752a4f812e2640cbf1790e940ec46, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffc2cfe3000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe414e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe4150c0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e8d26a705fcdfaec505495eb0b88bca472cd3a9d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffc1bdee000) + libc.so.6 => /lib64/libc.so.6 (0x00007fed60000000) + /lib64/ld-linux-x86-64.so.2 (0x00007fed6033e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ebc219e73811ca8a6a46ac5ee0e73dcb78b3139c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffd7dd48000) + libc.so.6 => /lib64/libc.so.6 (0x00007ff0bcc00000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff0bcfd7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=82b6b95e63c1d541743068f0ef8737a24f9b28d9, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffe9b1d1000) + libc.so.6 => /lib64/libc.so.6 (0x00007f51c1a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f51c1d87000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=022ab27b710146427a2f09b4c72f915b5cfea96f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffe52741000) + libc.so.6 => /lib64/libc.so.6 (0x00007f54eb000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f54eb2f4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5063ceae8548251c7fe77b887db847500500af0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) + linux-vdso.so.1 (0x00007ffe23795000) + libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007f7d7b317000) + libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f7d7b2e5000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f7d7b2e0000) + liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f7d7b2b0000) + libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f7d7a400000) + libm.so.6 => /lib64/libm.so.6 (0x00007f7d7a722000) + libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7d7b28e000) + libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7d7b289000) + libc.so.6 => /lib64/libc.so.6 (0x00007f7d7a000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7d7b35c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) ++ '[' 0x = 0x ']' ++ LOG_WARN 'Found extra message in ldd riscv64-plct-linux-gnu-gdb output' ++ message='Found extra message in ldd riscv64-plct-linux-gnu-gdb output' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Found extra message in ldd riscv64-plct-linux-gnu-gdb output' +Wed Apr 10 05:08:33 2024 - WARN - Found extra message in ldd riscv64-plct-linux-gnu-gdb output ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bd1481439adec32395663c8e8e2f48309095269, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffd2f5d5000) + libc.so.6 => /lib64/libc.so.6 (0x00007f35b1600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f35b1842000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7ba75731dae53aa328f2e9be718cd018c43b9bfe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffea3bf8000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fa286fe3000) + libc.so.6 => /lib64/libc.so.6 (0x00007fa286c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa2871cd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00007ffcf856e000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6afcfc3000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6afc800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6afcfcf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffc08d66000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007efd86ff6000) + libc.so.6 => /lib64/libc.so.6 (0x00007efd86c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007efd8733c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=89135e7c6bb6f2c6ec334465f432a3334849ff39, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffe5697c000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f8ee5dff000) + libm.so.6 => /lib64/libm.so.6 (0x00007f8ee5d21000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8ee5a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8ee5e0b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a7f8774c46ba3b3fb4673d9afcf1f3ca5b7d81ed, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00007fff937fb000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fa3a5ccf000) + libc.so.6 => /lib64/libc.so.6 (0x00007fa3a5a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa3a5e02000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bf929f4a25a483d3f39ec7a6e076a930258423e5, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffc4a519000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007ffa1a94b000) + libc.so.6 => /lib64/libc.so.6 (0x00007ffa1a600000) + /lib64/ld-linux-x86-64.so.2 (0x00007ffa1aa9e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=90ea9b74c2a07351f4850c027d8273369bc0f8de, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffe9398f000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007febe6989000) + libc.so.6 => /lib64/libc.so.6 (0x00007febe6200000) + /lib64/ld-linux-x86-64.so.2 (0x00007febe6995000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=32baa2fc2c2afb863110ce5be9cbfb534ed9ab3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffdb35e3000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f30da0e3000) + libc.so.6 => /lib64/libc.so.6 (0x00007f30d9e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f30da218000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46a8f121c47196be8de92c76309f09efe41e2ff2, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00007ffd9c766000) + libc.so.6 => /lib64/libc.so.6 (0x00007fc6b8a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc6b8f21000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3839019e395b24979c16ad2ef0474f548a7fa9fe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00007fff92f8d000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fda1dc14000) + libc.so.6 => /lib64/libc.so.6 (0x00007fda1d800000) + /lib64/ld-linux-x86-64.so.2 (0x00007fda1dd42000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1cf7f23ae18f661e32545c07e829d91557b1a347, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00007ffc2c9f4000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007faccb44d000) + libc.so.6 => /lib64/libc.so.6 (0x00007faccb200000) + /lib64/ld-linux-x86-64.so.2 (0x00007faccb57c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=24feb89de7b69ed47938f4bcefffe103bb1b055e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00007fff7647d000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f8a91829000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8a91400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8a9197c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 232M 0 639k 0 0 1813k 0 0:02:10 --:--:-- 0:02:10 1815k 2 232M 2 5823k 0 0 4307k 0 0:00:55 0:00:01 0:00:54 4306k 4 232M 4 11.3M 0 0 4952k 0 0:00:47 0:00:02 0:00:45 4951k 7 232M 7 17.4M 0 0 5331k 0 0:00:44 0:00:03 0:00:41 5331k 9 232M 9 23.1M 0 0 5437k 0 0:00:43 0:00:04 0:00:39 5437k 12 232M 12 28.8M 0 0 5521k 0 0:00:43 0:00:05 0:00:38 5782k 14 232M 14 34.7M 0 0 5609k 0 0:00:42 0:00:06 0:00:36 5961k 17 232M 17 39.9M 0 0 5564k 0 0:00:42 0:00:07 0:00:35 5852k 19 232M 19 45.0M 0 0 5524k 0 0:00:43 0:00:08 0:00:35 5654k 21 232M 21 50.9M 0 0 5584k 0 0:00:42 0:00:09 0:00:33 5711k 24 232M 24 57.4M 0 0 5686k 0 0:00:41 0:00:10 0:00:31 5862k 27 232M 27 64.2M 0 0 5795k 0 0:00:40 0:00:11 0:00:29 6031k 30 232M 30 71.6M 0 0 5941k 0 0:00:39 0:00:12 0:00:27 6496k 33 232M 33 78.2M 0 0 6003k 0 0:00:39 0:00:13 0:00:26 6803k 36 232M 36 85.5M 0 0 6102k 0 0:00:38 0:00:14 0:00:24 7072k 39 232M 39 92.2M 0 0 6150k 0 0:00:38 0:00:15 0:00:23 7113k 42 232M 42 98.3M 0 0 6157k 0 0:00:38 0:00:16 0:00:22 6979k 44 232M 44 104M 0 0 6139k 0 0:00:38 0:00:17 0:00:21 6630k 47 232M 47 109M 0 0 6100k 0 0:00:38 0:00:18 0:00:20 6358k 49 232M 49 114M 0 0 6037k 0 0:00:39 0:00:19 0:00:20 5852k 51 232M 51 119M 0 0 6003k 0 0:00:39 0:00:20 0:00:19 5552k 53 232M 53 124M 0 0 5981k 0 0:00:39 0:00:21 0:00:18 5404k 55 232M 55 129M 0 0 5945k 0 0:00:39 0:00:22 0:00:17 5270k 58 232M 58 135M 0 0 5946k 0 0:00:39 0:00:23 0:00:16 5382k 61 232M 61 141M 0 0 5968k 0 0:00:39 0:00:24 0:00:15 5699k 64 232M 64 149M 0 0 6018k 0 0:00:39 0:00:25 0:00:14 6080k 68 232M 68 158M 0 0 4370k 0 0:00:54 0:00:37 0:00:17 2206k 68 232M 68 159M 0 0 4363k 0 0:00:54 0:00:37 0:00:17 2008k 70 232M 70 162M 0 0 4346k 0 0:00:54 0:00:38 0:00:16 1856k 72 232M 72 167M 0 0 4350k 0 0:00:54 0:00:39 0:00:15 1724k 74 232M 74 172M 0 0 4373k 0 0:00:54 0:00:40 0:00:14 1593k 76 232M 76 178M 0 0 4413k 0 0:00:53 0:00:41 0:00:12 4797k 79 232M 79 184M 0 0 4468k 0 0:00:53 0:00:42 0:00:11 5248k 82 232M 82 192M 0 0 4536k 0 0:00:52 0:00:43 0:00:09 5991k 86 232M 86 200M 0 0 3638k 0 0:01:05 0:00:56 0:00:09 1986k 86 232M 86 200M 0 0 3635k 0 0:01:05 0:00:56 0:00:09 1776k 87 232M 87 203M 0 0 3635k 0 0:01:05 0:00:57 0:00:08 1626k 89 232M 89 208M 0 0 3651k 0 0:01:05 0:00:58 0:00:07 1488k 91 232M 91 213M 0 0 3678k 0 0:01:04 0:00:59 0:00:05 1355k 94 232M 94 219M 0 0 3716k 0 0:01:03 0:01:00 0:00:03 4816k 97 232M 97 225M 0 0 3767k 0 0:01:03 0:01:01 0:00:02 5253k 100 232M 100 232M 0 0 3819k 0 0:01:02 0:01:02 --:--:-- 5995k +info: extracting +RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package +gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 232M 0 639k 0 0 1813k 0 0:02:10 --:--:-- 0:02:10 $'1815k\r' 2 232M 2 5823k 0 0 4307k 0 0:00:55 0:00:01 0:00:54 $'4306k\r' 4 232M 4 11.3M 0 0 4952k 0 0:00:47 0:00:02 0:00:45 $'4951k\r' 7 232M 7 17.4M 0 0 5331k 0 0:00:44 0:00:03 0:00:41 $'5331k\r' 9 232M 9 23.1M 0 0 5437k 0 0:00:43 0:00:04 0:00:39 $'5437k\r' 12 232M 12 28.8M 0 0 5521k 0 0:00:43 0:00:05 0:00:38 $'5782k\r' 14 232M 14 34.7M 0 0 5609k 0 0:00:42 0:00:06 0:00:36 $'5961k\r' 17 232M 17 39.9M 0 0 5564k 0 0:00:42 0:00:07 0:00:35 $'5852k\r' 19 232M 19 45.0M 0 0 5524k 0 0:00:43 0:00:08 0:00:35 $'5654k\r' 21 232M 21 50.9M 0 0 5584k 0 0:00:42 0:00:09 0:00:33 $'5711k\r' 24 232M 24 57.4M 0 0 5686k 0 0:00:41 0:00:10 0:00:31 $'5862k\r' 27 232M 27 64.2M 0 0 5795k 0 0:00:40 0:00:11 0:00:29 $'6031k\r' 30 232M 30 71.6M 0 0 5941k 0 0:00:39 0:00:12 0:00:27 $'6496k\r' 33 232M 33 78.2M 0 0 6003k 0 0:00:39 0:00:13 0:00:26 $'6803k\r' 36 232M 36 85.5M 0 0 6102k 0 0:00:38 0:00:14 0:00:24 $'7072k\r' 39 232M 39 92.2M 0 0 6150k 0 0:00:38 0:00:15 0:00:23 $'7113k\r' 42 232M 42 98.3M 0 0 6157k 0 0:00:38 0:00:16 0:00:22 $'6979k\r' 44 232M 44 104M 0 0 6139k 0 0:00:38 0:00:17 0:00:21 $'6630k\r' 47 232M 47 109M 0 0 6100k 0 0:00:38 0:00:18 0:00:20 $'6358k\r' 49 232M 49 114M 0 0 6037k 0 0:00:39 0:00:19 0:00:20 $'5852k\r' 51 232M 51 119M 0 0 6003k 0 0:00:39 0:00:20 0:00:19 $'5552k\r' 53 232M 53 124M 0 0 5981k 0 0:00:39 0:00:21 0:00:18 $'5404k\r' 55 232M 55 129M 0 0 5945k 0 0:00:39 0:00:22 0:00:17 $'5270k\r' 58 232M 58 135M 0 0 5946k 0 0:00:39 0:00:23 0:00:16 $'5382k\r' 61 232M 61 141M 0 0 5968k 0 0:00:39 0:00:24 0:00:15 $'5699k\r' 64 232M 64 149M 0 0 6018k 0 0:00:39 0:00:25 0:00:14 $'6080k\r' 68 232M 68 158M 0 0 4370k 0 0:00:54 0:00:37 0:00:17 $'2206k\r' 68 232M 68 159M 0 0 4363k 0 0:00:54 0:00:37 0:00:17 $'2008k\r' 70 232M 70 162M 0 0 4346k 0 0:00:54 0:00:38 0:00:16 $'1856k\r' 72 232M 72 167M 0 0 4350k 0 0:00:54 0:00:39 0:00:15 $'1724k\r' 74 232M 74 172M 0 0 4373k 0 0:00:54 0:00:40 0:00:14 $'1593k\r' 76 232M 76 178M 0 0 4413k 0 0:00:53 0:00:41 0:00:12 $'4797k\r' 79 232M 79 184M 0 0 4468k 0 0:00:53 0:00:42 0:00:11 $'5248k\r' 82 232M 82 192M 0 0 4536k 0 0:00:52 0:00:43 0:00:09 $'5991k\r' 86 232M 86 200M 0 0 3638k 0 0:01:05 0:00:56 0:00:09 $'1986k\r' 86 232M 86 200M 0 0 3635k 0 0:01:05 0:00:56 0:00:09 $'1776k\r' 87 232M 87 203M 0 0 3635k 0 0:01:05 0:00:57 0:00:08 $'1626k\r' 89 232M 89 208M 0 0 3651k 0 0:01:05 0:00:58 0:00:07 $'1488k\r' 91 232M 91 213M 0 0 3678k 0 0:01:04 0:00:59 0:00:05 $'1355k\r' 94 232M 94 219M 0 0 3716k 0 0:01:03 0:01:00 0:00:03 $'4816k\r' 97 232M 97 225M 0 0 3767k 0 0:01:03 0:01:01 0:00:02 $'5253k\r100' 232M 100 232M 0 0 3819k 0 0:01:02 0:01:02 --:--:-- 5995k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 232M 0 639k 0 0 1813k 0 0:02:10 --:--:-- 0:02:10 $'1815k\r' 2 232M 2 5823k 0 0 4307k 0 0:00:55 0:00:01 0:00:54 $'4306k\r' 4 232M 4 11.3M 0 0 4952k 0 0:00:47 0:00:02 0:00:45 $'4951k\r' 7 232M 7 17.4M 0 0 5331k 0 0:00:44 0:00:03 0:00:41 $'5331k\r' 9 232M 9 23.1M 0 0 5437k 0 0:00:43 0:00:04 0:00:39 $'5437k\r' 12 232M 12 28.8M 0 0 5521k 0 0:00:43 0:00:05 0:00:38 $'5782k\r' 14 232M 14 34.7M 0 0 5609k 0 0:00:42 0:00:06 0:00:36 $'5961k\r' 17 232M 17 39.9M 0 0 5564k 0 0:00:42 0:00:07 0:00:35 $'5852k\r' 19 232M 19 45.0M 0 0 5524k 0 0:00:43 0:00:08 0:00:35 $'5654k\r' 21 232M 21 50.9M 0 0 5584k 0 0:00:42 0:00:09 0:00:33 $'5711k\r' 24 232M 24 57.4M 0 0 5686k 0 0:00:41 0:00:10 0:00:31 $'5862k\r' 27 232M 27 64.2M 0 0 5795k 0 0:00:40 0:00:11 0:00:29 $'6031k\r' 30 232M 30 71.6M 0 0 5941k 0 0:00:39 0:00:12 0:00:27 $'6496k\r' 33 232M 33 78.2M 0 0 6003k 0 0:00:39 0:00:13 0:00:26 $'6803k\r' 36 232M 36 85.5M 0 0 6102k 0 0:00:38 0:00:14 0:00:24 $'7072k\r' 39 232M 39 92.2M 0 0 6150k 0 0:00:38 0:00:15 0:00:23 $'7113k\r' 42 232M 42 98.3M 0 0 6157k 0 0:00:38 0:00:16 0:00:22 $'6979k\r' 44 232M 44 104M 0 0 6139k 0 0:00:38 0:00:17 0:00:21 $'6630k\r' 47 232M 47 109M 0 0 6100k 0 0:00:38 0:00:18 0:00:20 $'6358k\r' 49 232M 49 114M 0 0 6037k 0 0:00:39 0:00:19 0:00:20 $'5852k\r' 51 232M 51 119M 0 0 6003k 0 0:00:39 0:00:20 0:00:19 $'5552k\r' 53 232M 53 124M 0 0 5981k 0 0:00:39 0:00:21 0:00:18 $'5404k\r' 55 232M 55 129M 0 0 5945k 0 0:00:39 0:00:22 0:00:17 $'5270k\r' 58 232M 58 135M 0 0 5946k 0 0:00:39 0:00:23 0:00:16 $'5382k\r' 61 232M 61 141M 0 0 5968k 0 0:00:39 0:00:24 0:00:15 $'5699k\r' 64 232M 64 149M 0 0 6018k 0 0:00:39 0:00:25 0:00:14 $'6080k\r' 68 232M 68 158M 0 0 4370k 0 0:00:54 0:00:37 0:00:17 $'2206k\r' 68 232M 68 159M 0 0 4363k 0 0:00:54 0:00:37 0:00:17 $'2008k\r' 70 232M 70 162M 0 0 4346k 0 0:00:54 0:00:38 0:00:16 $'1856k\r' 72 232M 72 167M 0 0 4350k 0 0:00:54 0:00:39 0:00:15 $'1724k\r' 74 232M 74 172M 0 0 4373k 0 0:00:54 0:00:40 0:00:14 $'1593k\r' 76 232M 76 178M 0 0 4413k 0 0:00:53 0:00:41 0:00:12 $'4797k\r' 79 232M 79 184M 0 0 4468k 0 0:00:53 0:00:42 0:00:11 $'5248k\r' 82 232M 82 192M 0 0 4536k 0 0:00:52 0:00:43 0:00:09 $'5991k\r' 86 232M 86 200M 0 0 3638k 0 0:01:05 0:00:56 0:00:09 $'1986k\r' 86 232M 86 200M 0 0 3635k 0 0:01:05 0:00:56 0:00:09 $'1776k\r' 87 232M 87 203M 0 0 3635k 0 0:01:05 0:00:57 0:00:08 $'1626k\r' 89 232M 89 208M 0 0 3651k 0 0:01:05 0:00:58 0:00:07 $'1488k\r' 91 232M 91 213M 0 0 3678k 0 0:01:04 0:00:59 0:00:05 $'1355k\r' 94 232M 94 219M 0 0 3716k 0 0:01:03 0:01:00 0:00:03 $'4816k\r' 97 232M 97 225M 0 0 3767k 0 0:01:03 0:01:01 0:00:02 $'5253k\r100' 232M 100 232M 0 0 3819k 0 0:01:02 0:01:02 --:--:-- 5995k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=51d9b330194b9867afb706b7611e02f9293fe3be, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00007ffd88dc5000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f5d1c6e4000) + libc.so.6 => /lib64/libc.so.6 (0x00007f5d1c400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5d1c7f2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d1dca52f0b53dd6d6e1a398fff97bf6a24ed2b6e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00007ffdbd269000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f19cd124000) + libc.so.6 => /lib64/libc.so.6 (0x00007f19cce00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f19cd23a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7671387815a715ccf29413e6ebd2d694ef4fd9ad, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00007ffea63e7000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f910e6da000) + libc.so.6 => /lib64/libc.so.6 (0x00007f910e400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f910e87e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffd81d43000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0f68a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0f68e14000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46ec6178fe7407f1c90cd30bb536558171a92e3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffe455da000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007eff7f407000) + libc.so.6 => /lib64/libc.so.6 (0x00007eff7f000000) + /lib64/ld-linux-x86-64.so.2 (0x00007eff7f51d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=240b045dd7361e3c4bc5007cc8a3498c2d283408, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffd56cff000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6372000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6372357000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=33d699b0253e2c2bb40e6cfd086bc66a59d99e2c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00007fff7e199000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9f66800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9f66be7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00007fffd37d3000) + libc.so.6 => /lib64/libc.so.6 (0x00007f08b0000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f08b02db000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffc64509000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8003000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8003382000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00007ffdc7fdf000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe842000000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe8422ce000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93fc5f76c74612a9d0ce7afbc1cd9e42d09dcf1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffdaf3f9000) + libc.so.6 => /lib64/libc.so.6 (0x00007f4d79a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f4d79d20000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1b7ab8553679997bbad242148fd744e0431b0318, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffdec77d000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0d60400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0d6073d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9b9816acb73f92f5a898ec65ca3d74a90d820a84, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffdf17b7000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0d42c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0d42f63000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e57b5d44de252010151d77f4323ad763e9523ce3, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffd25be3000) + libc.so.6 => /lib64/libc.so.6 (0x00007f92c1a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f92c1e12000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b1fd99fe236a5513419295efe1dd3fe7d738f228, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffc1dc2f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0c5ac00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0c5af2b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6160a5965fccd5c42347d644843e1dd0b94418ae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffd17837000) + libc.so.6 => /lib64/libc.so.6 (0x00007ff3a7200000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff3a7604000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f27038640ed4ca1647aceff925831111b4de5e1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) + linux-vdso.so.1 (0x00007fff6efc9000) + libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007f64c2be9000) + libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f64c21ce000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f64c2be4000) + liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f64c219e000) + libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f64c1e00000) + libm.so.6 => /lib64/libm.so.6 (0x00007f64c20c0000) + libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f64c20a0000) + libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f64c2bdd000) + libc.so.6 => /lib64/libc.so.6 (0x00007f64c1a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f64c2c2e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) ++ '[' 0x = 0x ']' ++ LOG_WARN 'Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' ++ message='Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' +Wed Apr 10 05:11:34 2024 - WARN - Found extra message in ldd riscv64-unknown-linux-gnu-gdb output ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bba2a4aa398576037d78bd7f2d67d84183ca7474, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffca62c6000) + libc.so.6 => /lib64/libc.so.6 (0x00007f36ca400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f36ca75c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=81368607ab7d7e9fc93c70c1a5085ca8cf7d2551, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffe8b587000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fc55caa7000) + libc.so.6 => /lib64/libc.so.6 (0x00007fc55c800000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc55cbc6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00007fff09926000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f2fa4cda000) + libc.so.6 => /lib64/libc.so.6 (0x00007f2fa4400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2fa4ce6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffe2e1f3000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f012ea4a000) + libc.so.6 => /lib64/libc.so.6 (0x00007f012e200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f012ea56000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=07e0cdeb46eb6749e40f39f886240ec56b077414, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffd4ebfc000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f9e62cc1000) + libm.so.6 => /lib64/libm.so.6 (0x00007f9e62be3000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9e62800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9e62ccd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7dc2121143a8baa649992b794106a7e3e33d025c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00007ffdd9bfe000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fc337613000) + libc.so.6 => /lib64/libc.so.6 (0x00007fc337200000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc337725000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=25a334917a579d527a1d3c7d5f1d986453d61b03, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00007fffd65d3000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f38b296a000) + libc.so.6 => /lib64/libc.so.6 (0x00007f38b2600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f38b2a9c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3791c1a2ba627af0f6c6dd2e87ae4a7ea7418f23, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00007fffcdfcc000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f160da72000) + libc.so.6 => /lib64/libc.so.6 (0x00007f160d800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f160dc55000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=86b327b66ff5317f621853e5dc663a194ab1c964, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffca8dfc000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fbe70ecf000) + libc.so.6 => /lib64/libc.so.6 (0x00007fbe70c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fbe70fe5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=94b11b905c3c381dda1f368cf17dea43ae3a4654, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00007fffe33f7000) + libc.so.6 => /lib64/libc.so.6 (0x00007f7d3b600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7d3b9a2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9fe6ce808fc54654b1ba0be4f8161de2f6cd2abf, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00007ffe96b48000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f532715c000) + libc.so.6 => /lib64/libc.so.6 (0x00007f5326e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f532726b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=adfc3905c2628c9867e65a37ef119cfdbe73cf89, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00007ffe641e5000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f805c2e7000) + libc.so.6 => /lib64/libc.so.6 (0x00007f805c000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f805c3f6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3c95f10b97c64370dca4b055b3c48aed500f13b6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00007ffc101fd000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f7442633000) + libc.so.6 => /lib64/libc.so.6 (0x00007f7442200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7442765000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 2095k 0 0 3966k 0 0:01:42 --:--:-- 0:01:42 3968k 3 398M 3 12.4M 0 0 8343k 0 0:00:48 0:00:01 0:00:47 8345k 5 398M 5 20.9M 0 0 8492k 0 0:00:48 0:00:02 0:00:46 8493k 6 398M 6 27.3M 0 0 7949k 0 0:00:51 0:00:03 0:00:48 7949k 8 398M 8 32.8M 0 0 7434k 0 0:00:54 0:00:04 0:00:50 7434k 9 398M 9 38.3M 0 0 7095k 0 0:00:57 0:00:05 0:00:52 7425k 10 398M 10 43.8M 0 0 6874k 0 0:00:59 0:00:06 0:00:53 6425k 11 398M 11 46.2M 0 0 6292k 0 0:01:04 0:00:07 0:00:57 5179k 12 398M 12 48.1M 0 0 5783k 0 0:01:10 0:00:08 0:01:02 4255k 12 398M 12 50.8M 0 0 5467k 0 0:01:14 0:00:09 0:01:05 3686k 13 398M 13 54.3M 0 0 5282k 0 0:01:17 0:00:10 0:01:07 3275k 14 398M 14 58.4M 0 0 5190k 0 0:01:18 0:00:11 0:01:07 2994k 15 398M 15 63.3M 0 0 5179k 0 0:01:18 0:00:12 0:01:06 3504k 17 398M 17 68.9M 0 0 5217k 0 0:01:18 0:00:13 0:01:05 4252k 18 398M 18 75.2M 0 0 5305k 0 0:01:16 0:00:14 0:01:02 4998k 20 398M 20 82.3M 0 0 5429k 0 0:01:15 0:00:15 0:01:00 5740k 22 398M 22 89.5M 0 0 5547k 0 0:01:13 0:00:16 0:00:57 6370k 24 398M 24 97.6M 0 0 4863k 0 0:01:23 0:00:20 0:01:03 4371k 25 398M 25 100M 0 0 4798k 0 0:01:25 0:00:21 0:01:04 4089k 26 398M 26 104M 0 0 4766k 0 0:01:25 0:00:22 0:01:03 3786k 27 398M 27 109M 0 0 4756k 0 0:01:25 0:00:23 0:01:02 3448k 28 398M 28 114M 0 0 4797k 0 0:01:25 0:00:24 0:01:01 3245k 30 398M 30 121M 0 0 4863k 0 0:01:23 0:00:25 0:00:58 4861k 32 398M 32 128M 0 0 4954k 0 0:01:22 0:00:26 0:00:56 5623k 34 398M 34 136M 0 0 5066k 0 0:01:20 0:00:27 0:00:53 6420k 36 398M 36 144M 0 0 5180k 0 0:01:18 0:00:28 0:00:50 7167k 37 398M 37 149M 0 0 5167k 0 0:01:19 0:00:29 0:00:50 6987k 37 398M 37 150M 0 0 5034k 0 0:01:21 0:00:30 0:00:51 5905k 37 398M 37 150M 0 0 4898k 0 0:01:23 0:00:31 0:00:52 4602k 38 398M 38 152M 0 0 4791k 0 0:01:25 0:00:32 0:00:53 3276k 38 398M 38 154M 0 0 4712k 0 0:01:26 0:00:33 0:00:53 2031k 39 398M 39 157M 0 0 4660k 0 0:01:27 0:00:34 0:00:53 1667k 40 398M 40 160M 0 0 4632k 0 0:01:28 0:00:35 0:00:53 2177k 41 398M 41 164M 0 0 4598k 0 0:01:28 0:00:36 0:00:52 2707k 41 398M 41 166M 0 0 4553k 0 0:01:29 0:00:37 0:00:52 3008k 42 398M 42 170M 0 0 4523k 0 0:01:30 0:00:38 0:00:52 3254k 43 398M 43 174M 0 0 4513k 0 0:01:30 0:00:39 0:00:51 3495k 44 398M 44 178M 0 0 4521k 0 0:01:30 0:00:40 0:00:50 3731k 46 398M 46 183M 0 0 4531k 0 0:01:30 0:00:41 0:00:49 4038k 47 398M 47 188M 0 0 4530k 0 0:01:30 0:00:42 0:00:48 4358k 48 398M 48 192M 0 0 4533k 0 0:01:30 0:00:43 0:00:47 4608k 49 398M 49 197M 0 0 4537k 0 0:01:29 0:00:44 0:00:45 4726k 50 398M 50 202M 0 0 4543k 0 0:01:29 0:00:45 0:00:44 4723k 52 398M 52 207M 0 0 4563k 0 0:01:29 0:00:46 0:00:43 4832k 53 398M 53 213M 0 0 4593k 0 0:01:28 0:00:47 0:00:41 5125k 55 398M 55 219M 0 0 4630k 0 0:01:28 0:00:48 0:00:40 5478k 56 398M 56 225M 0 0 4665k 0 0:01:27 0:00:49 0:00:38 5808k 58 398M 58 231M 0 0 4691k 0 0:01:27 0:00:50 0:00:37 6038k 59 398M 59 237M 0 0 4722k 0 0:01:26 0:00:51 0:00:35 6204k 61 398M 61 243M 0 0 4756k 0 0:01:25 0:00:52 0:00:33 6308k 62 398M 62 250M 0 0 4798k 0 0:01:25 0:00:53 0:00:32 6432k 64 398M 64 258M 0 0 4846k 0 0:01:24 0:00:54 0:00:30 6636k 66 398M 66 265M 0 0 4891k 0 0:01:23 0:00:55 0:00:28 6912k 68 398M 68 272M 0 0 4934k 0 0:01:22 0:00:56 0:00:26 7113k 70 398M 70 279M 0 0 4977k 0 0:01:22 0:00:57 0:00:25 7302k 71 398M 71 286M 0 0 5006k 0 0:01:21 0:00:58 0:00:23 7232k 73 398M 73 292M 0 0 5038k 0 0:01:21 0:00:59 0:00:22 7129k 75 398M 75 299M 0 0 5068k 0 0:01:20 0:01:00 0:00:20 7041k 76 398M 76 305M 0 0 5086k 0 0:01:20 0:01:01 0:00:19 6809k 78 398M 78 311M 0 0 5105k 0 0:01:19 0:01:02 0:00:17 6572k 79 398M 79 317M 0 0 5121k 0 0:01:19 0:01:03 0:00:16 6470k 81 398M 81 323M 0 0 5126k 0 0:01:19 0:01:04 0:00:15 6182k 82 398M 82 328M 0 0 5139k 0 0:01:19 0:01:05 0:00:14 5987k 84 398M 84 334M 0 0 5155k 0 0:01:19 0:01:06 0:00:13 6006k 85 398M 85 341M 0 0 5180k 0 0:01:18 0:01:07 0:00:11 6115k 87 398M 87 348M 0 0 5214k 0 0:01:18 0:01:08 0:00:10 6390k 89 398M 89 356M 0 0 5249k 0 0:01:17 0:01:09 0:00:08 6838k 91 398M 91 363M 0 0 5277k 0 0:01:17 0:01:10 0:00:07 7087k 92 398M 92 370M 0 0 5298k 0 0:01:17 0:01:11 0:00:06 7190k 94 398M 94 375M 0 0 5308k 0 0:01:16 0:01:12 0:00:04 7040k 95 398M 95 380M 0 0 5304k 0 0:01:16 0:01:13 0:00:03 6544k 96 398M 96 385M 0 0 5294k 0 0:01:17 0:01:14 0:00:03 5913k 97 398M 97 389M 0 0 5286k 0 0:01:17 0:01:15 0:00:02 5422k 99 398M 99 395M 0 0 5285k 0 0:01:17 0:01:16 0:00:01 5110k 100 398M 100 398M 0 0 4311k 0 0:01:34 0:01:34 --:--:-- 1051k 100 398M 100 398M 0 0 4311k 0 0:01:34 0:01:34 --:--:-- 862k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 2095k 0 0 3966k 0 0:01:42 --:--:-- 0:01:42 $'3968k\r' 3 398M 3 12.4M 0 0 8343k 0 0:00:48 0:00:01 0:00:47 $'8345k\r' 5 398M 5 20.9M 0 0 8492k 0 0:00:48 0:00:02 0:00:46 $'8493k\r' 6 398M 6 27.3M 0 0 7949k 0 0:00:51 0:00:03 0:00:48 $'7949k\r' 8 398M 8 32.8M 0 0 7434k 0 0:00:54 0:00:04 0:00:50 $'7434k\r' 9 398M 9 38.3M 0 0 7095k 0 0:00:57 0:00:05 0:00:52 $'7425k\r' 10 398M 10 43.8M 0 0 6874k 0 0:00:59 0:00:06 0:00:53 $'6425k\r' 11 398M 11 46.2M 0 0 6292k 0 0:01:04 0:00:07 0:00:57 $'5179k\r' 12 398M 12 48.1M 0 0 5783k 0 0:01:10 0:00:08 0:01:02 $'4255k\r' 12 398M 12 50.8M 0 0 5467k 0 0:01:14 0:00:09 0:01:05 $'3686k\r' 13 398M 13 54.3M 0 0 5282k 0 0:01:17 0:00:10 0:01:07 $'3275k\r' 14 398M 14 58.4M 0 0 5190k 0 0:01:18 0:00:11 0:01:07 $'2994k\r' 15 398M 15 63.3M 0 0 5179k 0 0:01:18 0:00:12 0:01:06 $'3504k\r' 17 398M 17 68.9M 0 0 5217k 0 0:01:18 0:00:13 0:01:05 $'4252k\r' 18 398M 18 75.2M 0 0 5305k 0 0:01:16 0:00:14 0:01:02 $'4998k\r' 20 398M 20 82.3M 0 0 5429k 0 0:01:15 0:00:15 0:01:00 $'5740k\r' 22 398M 22 89.5M 0 0 5547k 0 0:01:13 0:00:16 0:00:57 $'6370k\r' 24 398M 24 97.6M 0 0 4863k 0 0:01:23 0:00:20 0:01:03 $'4371k\r' 25 398M 25 100M 0 0 4798k 0 0:01:25 0:00:21 0:01:04 $'4089k\r' 26 398M 26 104M 0 0 4766k 0 0:01:25 0:00:22 0:01:03 $'3786k\r' 27 398M 27 109M 0 0 4756k 0 0:01:25 0:00:23 0:01:02 $'3448k\r' 28 398M 28 114M 0 0 4797k 0 0:01:25 0:00:24 0:01:01 $'3245k\r' 30 398M 30 121M 0 0 4863k 0 0:01:23 0:00:25 0:00:58 $'4861k\r' 32 398M 32 128M 0 0 4954k 0 0:01:22 0:00:26 0:00:56 $'5623k\r' 34 398M 34 136M 0 0 5066k 0 0:01:20 0:00:27 0:00:53 $'6420k\r' 36 398M 36 144M 0 0 5180k 0 0:01:18 0:00:28 0:00:50 $'7167k\r' 37 398M 37 149M 0 0 5167k 0 0:01:19 0:00:29 0:00:50 $'6987k\r' 37 398M 37 150M 0 0 5034k 0 0:01:21 0:00:30 0:00:51 $'5905k\r' 37 398M 37 150M 0 0 4898k 0 0:01:23 0:00:31 0:00:52 $'4602k\r' 38 398M 38 152M 0 0 4791k 0 0:01:25 0:00:32 0:00:53 $'3276k\r' 38 398M 38 154M 0 0 4712k 0 0:01:26 0:00:33 0:00:53 $'2031k\r' 39 398M 39 157M 0 0 4660k 0 0:01:27 0:00:34 0:00:53 $'1667k\r' 40 398M 40 160M 0 0 4632k 0 0:01:28 0:00:35 0:00:53 $'2177k\r' 41 398M 41 164M 0 0 4598k 0 0:01:28 0:00:36 0:00:52 $'2707k\r' 41 398M 41 166M 0 0 4553k 0 0:01:29 0:00:37 0:00:52 $'3008k\r' 42 398M 42 170M 0 0 4523k 0 0:01:30 0:00:38 0:00:52 $'3254k\r' 43 398M 43 174M 0 0 4513k 0 0:01:30 0:00:39 0:00:51 $'3495k\r' 44 398M 44 178M 0 0 4521k 0 0:01:30 0:00:40 0:00:50 $'3731k\r' 46 398M 46 183M 0 0 4531k 0 0:01:30 0:00:41 0:00:49 $'4038k\r' 47 398M 47 188M 0 0 4530k 0 0:01:30 0:00:42 0:00:48 $'4358k\r' 48 398M 48 192M 0 0 4533k 0 0:01:30 0:00:43 0:00:47 $'4608k\r' 49 398M 49 197M 0 0 4537k 0 0:01:29 0:00:44 0:00:45 $'4726k\r' 50 398M 50 202M 0 0 4543k 0 0:01:29 0:00:45 0:00:44 $'4723k\r' 52 398M 52 207M 0 0 4563k 0 0:01:29 0:00:46 0:00:43 $'4832k\r' 53 398M 53 213M 0 0 4593k 0 0:01:28 0:00:47 0:00:41 $'5125k\r' 55 398M 55 219M 0 0 4630k 0 0:01:28 0:00:48 0:00:40 $'5478k\r' 56 398M 56 225M 0 0 4665k 0 0:01:27 0:00:49 0:00:38 $'5808k\r' 58 398M 58 231M 0 0 4691k 0 0:01:27 0:00:50 0:00:37 $'6038k\r' 59 398M 59 237M 0 0 4722k 0 0:01:26 0:00:51 0:00:35 $'6204k\r' 61 398M 61 243M 0 0 4756k 0 0:01:25 0:00:52 0:00:33 $'6308k\r' 62 398M 62 250M 0 0 4798k 0 0:01:25 0:00:53 0:00:32 $'6432k\r' 64 398M 64 258M 0 0 4846k 0 0:01:24 0:00:54 0:00:30 $'6636k\r' 66 398M 66 265M 0 0 4891k 0 0:01:23 0:00:55 0:00:28 $'6912k\r' 68 398M 68 272M 0 0 4934k 0 0:01:22 0:00:56 0:00:26 $'7113k\r' 70 398M 70 279M 0 0 4977k 0 0:01:22 0:00:57 0:00:25 $'7302k\r' 71 398M 71 286M 0 0 5006k 0 0:01:21 0:00:58 0:00:23 $'7232k\r' 73 398M 73 292M 0 0 5038k 0 0:01:21 0:00:59 0:00:22 $'7129k\r' 75 398M 75 299M 0 0 5068k 0 0:01:20 0:01:00 0:00:20 $'7041k\r' 76 398M 76 305M 0 0 5086k 0 0:01:20 0:01:01 0:00:19 $'6809k\r' 78 398M 78 311M 0 0 5105k 0 0:01:19 0:01:02 0:00:17 $'6572k\r' 79 398M 79 317M 0 0 5121k 0 0:01:19 0:01:03 0:00:16 $'6470k\r' 81 398M 81 323M 0 0 5126k 0 0:01:19 0:01:04 0:00:15 $'6182k\r' 82 398M 82 328M 0 0 5139k 0 0:01:19 0:01:05 0:00:14 $'5987k\r' 84 398M 84 334M 0 0 5155k 0 0:01:19 0:01:06 0:00:13 $'6006k\r' 85 398M 85 341M 0 0 5180k 0 0:01:18 0:01:07 0:00:11 $'6115k\r' 87 398M 87 348M 0 0 5214k 0 0:01:18 0:01:08 0:00:10 $'6390k\r' 89 398M 89 356M 0 0 5249k 0 0:01:17 0:01:09 0:00:08 $'6838k\r' 91 398M 91 363M 0 0 5277k 0 0:01:17 0:01:10 0:00:07 $'7087k\r' 92 398M 92 370M 0 0 5298k 0 0:01:17 0:01:11 0:00:06 $'7190k\r' 94 398M 94 375M 0 0 5308k 0 0:01:16 0:01:12 0:00:04 $'7040k\r' 95 398M 95 380M 0 0 5304k 0 0:01:16 0:01:13 0:00:03 $'6544k\r' 96 398M 96 385M 0 0 5294k 0 0:01:17 0:01:14 0:00:03 $'5913k\r' 97 398M 97 389M 0 0 5286k 0 0:01:17 0:01:15 0:00:02 $'5422k\r' 99 398M 99 395M 0 0 5285k 0 0:01:17 0:01:16 0:00:01 $'5110k\r100' 398M 100 398M 0 0 4311k 0 0:01:34 0:01:34 --:--:-- $'1051k\r100' 398M 100 398M 0 0 4311k 0 0:01:34 0:01:34 --:--:-- 862k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ bp=21 ++ bpb=21/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 2095k 0 0 3966k 0 0:01:42 --:--:-- 0:01:42 $'3968k\r' 3 398M 3 12.4M 0 0 8343k 0 0:00:48 0:00:01 0:00:47 $'8345k\r' 5 398M 5 20.9M 0 0 8492k 0 0:00:48 0:00:02 0:00:46 $'8493k\r' 6 398M 6 27.3M 0 0 7949k 0 0:00:51 0:00:03 0:00:48 $'7949k\r' 8 398M 8 32.8M 0 0 7434k 0 0:00:54 0:00:04 0:00:50 $'7434k\r' 9 398M 9 38.3M 0 0 7095k 0 0:00:57 0:00:05 0:00:52 $'7425k\r' 10 398M 10 43.8M 0 0 6874k 0 0:00:59 0:00:06 0:00:53 $'6425k\r' 11 398M 11 46.2M 0 0 6292k 0 0:01:04 0:00:07 0:00:57 $'5179k\r' 12 398M 12 48.1M 0 0 5783k 0 0:01:10 0:00:08 0:01:02 $'4255k\r' 12 398M 12 50.8M 0 0 5467k 0 0:01:14 0:00:09 0:01:05 $'3686k\r' 13 398M 13 54.3M 0 0 5282k 0 0:01:17 0:00:10 0:01:07 $'3275k\r' 14 398M 14 58.4M 0 0 5190k 0 0:01:18 0:00:11 0:01:07 $'2994k\r' 15 398M 15 63.3M 0 0 5179k 0 0:01:18 0:00:12 0:01:06 $'3504k\r' 17 398M 17 68.9M 0 0 5217k 0 0:01:18 0:00:13 0:01:05 $'4252k\r' 18 398M 18 75.2M 0 0 5305k 0 0:01:16 0:00:14 0:01:02 $'4998k\r' 20 398M 20 82.3M 0 0 5429k 0 0:01:15 0:00:15 0:01:00 $'5740k\r' 22 398M 22 89.5M 0 0 5547k 0 0:01:13 0:00:16 0:00:57 $'6370k\r' 24 398M 24 97.6M 0 0 4863k 0 0:01:23 0:00:20 0:01:03 $'4371k\r' 25 398M 25 100M 0 0 4798k 0 0:01:25 0:00:21 0:01:04 $'4089k\r' 26 398M 26 104M 0 0 4766k 0 0:01:25 0:00:22 0:01:03 $'3786k\r' 27 398M 27 109M 0 0 4756k 0 0:01:25 0:00:23 0:01:02 $'3448k\r' 28 398M 28 114M 0 0 4797k 0 0:01:25 0:00:24 0:01:01 $'3245k\r' 30 398M 30 121M 0 0 4863k 0 0:01:23 0:00:25 0:00:58 $'4861k\r' 32 398M 32 128M 0 0 4954k 0 0:01:22 0:00:26 0:00:56 $'5623k\r' 34 398M 34 136M 0 0 5066k 0 0:01:20 0:00:27 0:00:53 $'6420k\r' 36 398M 36 144M 0 0 5180k 0 0:01:18 0:00:28 0:00:50 $'7167k\r' 37 398M 37 149M 0 0 5167k 0 0:01:19 0:00:29 0:00:50 $'6987k\r' 37 398M 37 150M 0 0 5034k 0 0:01:21 0:00:30 0:00:51 $'5905k\r' 37 398M 37 150M 0 0 4898k 0 0:01:23 0:00:31 0:00:52 $'4602k\r' 38 398M 38 152M 0 0 4791k 0 0:01:25 0:00:32 0:00:53 $'3276k\r' 38 398M 38 154M 0 0 4712k 0 0:01:26 0:00:33 0:00:53 $'2031k\r' 39 398M 39 157M 0 0 4660k 0 0:01:27 0:00:34 0:00:53 $'1667k\r' 40 398M 40 160M 0 0 4632k 0 0:01:28 0:00:35 0:00:53 $'2177k\r' 41 398M 41 164M 0 0 4598k 0 0:01:28 0:00:36 0:00:52 $'2707k\r' 41 398M 41 166M 0 0 4553k 0 0:01:29 0:00:37 0:00:52 $'3008k\r' 42 398M 42 170M 0 0 4523k 0 0:01:30 0:00:38 0:00:52 $'3254k\r' 43 398M 43 174M 0 0 4513k 0 0:01:30 0:00:39 0:00:51 $'3495k\r' 44 398M 44 178M 0 0 4521k 0 0:01:30 0:00:40 0:00:50 $'3731k\r' 46 398M 46 183M 0 0 4531k 0 0:01:30 0:00:41 0:00:49 $'4038k\r' 47 398M 47 188M 0 0 4530k 0 0:01:30 0:00:42 0:00:48 $'4358k\r' 48 398M 48 192M 0 0 4533k 0 0:01:30 0:00:43 0:00:47 $'4608k\r' 49 398M 49 197M 0 0 4537k 0 0:01:29 0:00:44 0:00:45 $'4726k\r' 50 398M 50 202M 0 0 4543k 0 0:01:29 0:00:45 0:00:44 $'4723k\r' 52 398M 52 207M 0 0 4563k 0 0:01:29 0:00:46 0:00:43 $'4832k\r' 53 398M 53 213M 0 0 4593k 0 0:01:28 0:00:47 0:00:41 $'5125k\r' 55 398M 55 219M 0 0 4630k 0 0:01:28 0:00:48 0:00:40 $'5478k\r' 56 398M 56 225M 0 0 4665k 0 0:01:27 0:00:49 0:00:38 $'5808k\r' 58 398M 58 231M 0 0 4691k 0 0:01:27 0:00:50 0:00:37 $'6038k\r' 59 398M 59 237M 0 0 4722k 0 0:01:26 0:00:51 0:00:35 $'6204k\r' 61 398M 61 243M 0 0 4756k 0 0:01:25 0:00:52 0:00:33 $'6308k\r' 62 398M 62 250M 0 0 4798k 0 0:01:25 0:00:53 0:00:32 $'6432k\r' 64 398M 64 258M 0 0 4846k 0 0:01:24 0:00:54 0:00:30 $'6636k\r' 66 398M 66 265M 0 0 4891k 0 0:01:23 0:00:55 0:00:28 $'6912k\r' 68 398M 68 272M 0 0 4934k 0 0:01:22 0:00:56 0:00:26 $'7113k\r' 70 398M 70 279M 0 0 4977k 0 0:01:22 0:00:57 0:00:25 $'7302k\r' 71 398M 71 286M 0 0 5006k 0 0:01:21 0:00:58 0:00:23 $'7232k\r' 73 398M 73 292M 0 0 5038k 0 0:01:21 0:00:59 0:00:22 $'7129k\r' 75 398M 75 299M 0 0 5068k 0 0:01:20 0:01:00 0:00:20 $'7041k\r' 76 398M 76 305M 0 0 5086k 0 0:01:20 0:01:01 0:00:19 $'6809k\r' 78 398M 78 311M 0 0 5105k 0 0:01:19 0:01:02 0:00:17 $'6572k\r' 79 398M 79 317M 0 0 5121k 0 0:01:19 0:01:03 0:00:16 $'6470k\r' 81 398M 81 323M 0 0 5126k 0 0:01:19 0:01:04 0:00:15 $'6182k\r' 82 398M 82 328M 0 0 5139k 0 0:01:19 0:01:05 0:00:14 $'5987k\r' 84 398M 84 334M 0 0 5155k 0 0:01:19 0:01:06 0:00:13 $'6006k\r' 85 398M 85 341M 0 0 5180k 0 0:01:18 0:01:07 0:00:11 $'6115k\r' 87 398M 87 348M 0 0 5214k 0 0:01:18 0:01:08 0:00:10 $'6390k\r' 89 398M 89 356M 0 0 5249k 0 0:01:17 0:01:09 0:00:08 $'6838k\r' 91 398M 91 363M 0 0 5277k 0 0:01:17 0:01:10 0:00:07 $'7087k\r' 92 398M 92 370M 0 0 5298k 0 0:01:17 0:01:11 0:00:06 $'7190k\r' 94 398M 94 375M 0 0 5308k 0 0:01:16 0:01:12 0:00:04 $'7040k\r' 95 398M 95 380M 0 0 5304k 0 0:01:16 0:01:13 0:00:03 $'6544k\r' 96 398M 96 385M 0 0 5294k 0 0:01:17 0:01:14 0:00:03 $'5913k\r' 97 398M 97 389M 0 0 5286k 0 0:01:17 0:01:15 0:00:02 $'5422k\r' 99 398M 99 395M 0 0 5285k 0 0:01:17 0:01:16 0:00:01 $'5110k\r100' 398M 100 398M 0 0 4311k 0 0:01:34 0:01:34 --:--:-- $'1051k\r100' 398M 100 398M 0 0 4311k 0 0:01:34 0:01:34 --:--:-- 862k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 21 ']' ++ '[' '!' -d 21 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/llvm-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/llvm-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 47.2M 0 138k 0 0 19050 0 0:43:21 0:00:07 0:43:14 22790 1 47.2M 1 858k 0 0 114k 0 0:07:03 0:00:07 0:06:56 162k 2 47.2M 2 1434k 0 0 168k 0 0:04:46 0:00:08 0:04:38 271k 3 47.2M 3 1914k 0 0 201k 0 0:03:59 0:00:09 0:03:50 363k 4 47.2M 4 2250k 0 0 214k 0 0:03:45 0:00:10 0:03:35 425k 5 47.2M 5 2778k 0 0 241k 0 0:03:20 0:00:11 0:03:09 649k 6 47.2M 6 3226k 0 0 258k 0 0:03:07 0:00:12 0:02:55 473k 7 47.2M 7 3594k 0 0 266k 0 0:03:01 0:00:13 0:02:48 432k 8 47.2M 8 4138k 0 0 285k 0 0:02:49 0:00:14 0:02:35 442k 9 47.2M 9 4506k 0 0 290k 0 0:02:46 0:00:15 0:02:31 449k 9 47.2M 9 4810k 0 0 291k 0 0:02:45 0:00:16 0:02:29 406k 10 47.2M 10 5114k 0 0 291k 0 0:02:45 0:00:17 0:02:28 375k 11 47.2M 11 5514k 0 0 298k 0 0:02:42 0:00:18 0:02:24 384k 12 47.2M 12 5946k 0 0 305k 0 0:02:38 0:00:19 0:02:19 362k 14 47.2M 14 6810k 0 0 332k 0 0:02:25 0:00:20 0:02:05 462k 17 47.2M 17 8506k 0 0 395k 0 0:02:02 0:00:21 0:01:41 738k 22 47.2M 22 10.6M 0 0 485k 0 0:01:39 0:00:22 0:01:17 1173k 42 47.2M 42 20.0M 0 0 641k 0 0:01:15 0:00:31 0:00:44 1112k 44 47.2M 44 21.0M 0 0 663k 0 0:01:12 0:00:32 0:00:40 1201k 49 47.2M 49 23.5M 0 0 719k 0 0:01:07 0:00:33 0:00:34 1329k 56 47.2M 56 26.5M 0 0 788k 0 0:01:01 0:00:34 0:00:27 1437k 61 47.2M 61 29.1M 0 0 842k 0 0:00:57 0:00:35 0:00:22 1459k 66 47.2M 66 31.5M 0 0 885k 0 0:00:54 0:00:36 0:00:18 2605k 73 47.2M 73 34.6M 0 0 945k 0 0:00:51 0:00:37 0:00:14 2780k 80 47.2M 80 38.1M 0 0 1014k 0 0:00:47 0:00:38 0:00:09 2988k 87 47.2M 87 41.1M 0 0 1066k 0 0:00:45 0:00:39 0:00:06 2986k 91 47.2M 91 43.2M 0 0 1095k 0 0:00:44 0:00:40 0:00:04 2886k 97 47.2M 97 46.1M 0 0 1138k 0 0:00:42 0:00:41 0:00:01 2978k 100 47.2M 100 47.2M 0 0 1151k 0 0:00:42 0:00:42 --:--:-- 2852k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- $'0\r' 0 47.2M 0 138k 0 0 19050 0 0:43:21 0:00:07 0:43:14 $'22790\r' 1 47.2M 1 858k 0 0 114k 0 0:07:03 0:00:07 0:06:56 $'162k\r' 2 47.2M 2 1434k 0 0 168k 0 0:04:46 0:00:08 0:04:38 $'271k\r' 3 47.2M 3 1914k 0 0 201k 0 0:03:59 0:00:09 0:03:50 $'363k\r' 4 47.2M 4 2250k 0 0 214k 0 0:03:45 0:00:10 0:03:35 $'425k\r' 5 47.2M 5 2778k 0 0 241k 0 0:03:20 0:00:11 0:03:09 $'649k\r' 6 47.2M 6 3226k 0 0 258k 0 0:03:07 0:00:12 0:02:55 $'473k\r' 7 47.2M 7 3594k 0 0 266k 0 0:03:01 0:00:13 0:02:48 $'432k\r' 8 47.2M 8 4138k 0 0 285k 0 0:02:49 0:00:14 0:02:35 $'442k\r' 9 47.2M 9 4506k 0 0 290k 0 0:02:46 0:00:15 0:02:31 $'449k\r' 9 47.2M 9 4810k 0 0 291k 0 0:02:45 0:00:16 0:02:29 $'406k\r' 10 47.2M 10 5114k 0 0 291k 0 0:02:45 0:00:17 0:02:28 $'375k\r' 11 47.2M 11 5514k 0 0 298k 0 0:02:42 0:00:18 0:02:24 $'384k\r' 12 47.2M 12 5946k 0 0 305k 0 0:02:38 0:00:19 0:02:19 $'362k\r' 14 47.2M 14 6810k 0 0 332k 0 0:02:25 0:00:20 0:02:05 $'462k\r' 17 47.2M 17 8506k 0 0 395k 0 0:02:02 0:00:21 0:01:41 $'738k\r' 22 47.2M 22 10.6M 0 0 485k 0 0:01:39 0:00:22 0:01:17 $'1173k\r' 42 47.2M 42 20.0M 0 0 641k 0 0:01:15 0:00:31 0:00:44 $'1112k\r' 44 47.2M 44 21.0M 0 0 663k 0 0:01:12 0:00:32 0:00:40 $'1201k\r' 49 47.2M 49 23.5M 0 0 719k 0 0:01:07 0:00:33 0:00:34 $'1329k\r' 56 47.2M 56 26.5M 0 0 788k 0 0:01:01 0:00:34 0:00:27 $'1437k\r' 61 47.2M 61 29.1M 0 0 842k 0 0:00:57 0:00:35 0:00:22 $'1459k\r' 66 47.2M 66 31.5M 0 0 885k 0 0:00:54 0:00:36 0:00:18 $'2605k\r' 73 47.2M 73 34.6M 0 0 945k 0 0:00:51 0:00:37 0:00:14 $'2780k\r' 80 47.2M 80 38.1M 0 0 1014k 0 0:00:47 0:00:38 0:00:09 $'2988k\r' 87 47.2M 87 41.1M 0 0 1066k 0 0:00:45 0:00:39 0:00:06 $'2986k\r' 91 47.2M 91 43.2M 0 0 1095k 0 0:00:44 0:00:40 0:00:04 $'2886k\r' 97 47.2M 97 46.1M 0 0 1138k 0 0:00:42 0:00:41 0:00:01 $'2978k\r100' 47.2M 100 47.2M 0 0 1151k 0 0:00:42 0:00:42 --:--:-- 2852k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 +++ awk '{print $NF}' ++ bp=3.0-ruyi.20240224 ++ bpb=3.0-ruyi.20240224/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- $'0\r' 0 47.2M 0 138k 0 0 19050 0 0:43:21 0:00:07 0:43:14 $'22790\r' 1 47.2M 1 858k 0 0 114k 0 0:07:03 0:00:07 0:06:56 $'162k\r' 2 47.2M 2 1434k 0 0 168k 0 0:04:46 0:00:08 0:04:38 $'271k\r' 3 47.2M 3 1914k 0 0 201k 0 0:03:59 0:00:09 0:03:50 $'363k\r' 4 47.2M 4 2250k 0 0 214k 0 0:03:45 0:00:10 0:03:35 $'425k\r' 5 47.2M 5 2778k 0 0 241k 0 0:03:20 0:00:11 0:03:09 $'649k\r' 6 47.2M 6 3226k 0 0 258k 0 0:03:07 0:00:12 0:02:55 $'473k\r' 7 47.2M 7 3594k 0 0 266k 0 0:03:01 0:00:13 0:02:48 $'432k\r' 8 47.2M 8 4138k 0 0 285k 0 0:02:49 0:00:14 0:02:35 $'442k\r' 9 47.2M 9 4506k 0 0 290k 0 0:02:46 0:00:15 0:02:31 $'449k\r' 9 47.2M 9 4810k 0 0 291k 0 0:02:45 0:00:16 0:02:29 $'406k\r' 10 47.2M 10 5114k 0 0 291k 0 0:02:45 0:00:17 0:02:28 $'375k\r' 11 47.2M 11 5514k 0 0 298k 0 0:02:42 0:00:18 0:02:24 $'384k\r' 12 47.2M 12 5946k 0 0 305k 0 0:02:38 0:00:19 0:02:19 $'362k\r' 14 47.2M 14 6810k 0 0 332k 0 0:02:25 0:00:20 0:02:05 $'462k\r' 17 47.2M 17 8506k 0 0 395k 0 0:02:02 0:00:21 0:01:41 $'738k\r' 22 47.2M 22 10.6M 0 0 485k 0 0:01:39 0:00:22 0:01:17 $'1173k\r' 42 47.2M 42 20.0M 0 0 641k 0 0:01:15 0:00:31 0:00:44 $'1112k\r' 44 47.2M 44 21.0M 0 0 663k 0 0:01:12 0:00:32 0:00:40 $'1201k\r' 49 47.2M 49 23.5M 0 0 719k 0 0:01:07 0:00:33 0:00:34 $'1329k\r' 56 47.2M 56 26.5M 0 0 788k 0 0:01:01 0:00:34 0:00:27 $'1437k\r' 61 47.2M 61 29.1M 0 0 842k 0 0:00:57 0:00:35 0:00:22 $'1459k\r' 66 47.2M 66 31.5M 0 0 885k 0 0:00:54 0:00:36 0:00:18 $'2605k\r' 73 47.2M 73 34.6M 0 0 945k 0 0:00:51 0:00:37 0:00:14 $'2780k\r' 80 47.2M 80 38.1M 0 0 1014k 0 0:00:47 0:00:38 0:00:09 $'2988k\r' 87 47.2M 87 41.1M 0 0 1066k 0 0:00:45 0:00:39 0:00:06 $'2986k\r' 91 47.2M 91 43.2M 0 0 1095k 0 0:00:44 0:00:40 0:00:04 $'2886k\r' 97 47.2M 97 46.1M 0 0 1138k 0 0:00:42 0:00:41 0:00:01 $'2978k\r100' 47.2M 100 47.2M 0 0 1151k 0 0:00:42 0:00:42 --:--:-- 2852k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 3.0-ruyi.20240224 ']' ++ '[' '!' -d 3.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 950k 0 0 1492k 0 0:03:31 --:--:-- 0:03:31 1492k 2 308M 2 7094k 0 0 3562k 0 0:01:28 0:00:01 0:01:27 3563k 2 308M 2 8086k 0 0 3060k 0 0:01:43 0:00:02 0:01:41 3060k 2 308M 2 8646k 0 0 2376k 0 0:02:12 0:00:03 0:02:09 2376k 2 308M 2 9126k 0 0 1966k 0 0:02:40 0:00:04 0:02:36 1966k 3 308M 3 9526k 0 0 1687k 0 0:03:07 0:00:05 0:03:02 1712k 3 308M 3 9910k 0 0 1491k 0 0:03:31 0:00:06 0:03:25 605k 3 308M 3 10.1M 0 0 1360k 0 0:03:52 0:00:07 0:03:45 461k 3 308M 3 10.7M 0 0 1269k 0 0:04:08 0:00:08 0:04:00 463k 3 308M 3 11.1M 0 0 1181k 0 0:04:27 0:00:09 0:04:18 451k 3 308M 3 11.5M 0 0 1110k 0 0:04:44 0:00:10 0:04:34 458k 3 308M 3 11.8M 0 0 1039k 0 0:05:03 0:00:11 0:04:52 440k 3 308M 3 12.1M 0 0 983k 0 0:05:20 0:00:12 0:05:08 409k 4 308M 4 12.5M 0 0 940k 0 0:05:35 0:00:13 0:05:22 375k 4 308M 4 13.0M 0 0 911k 0 0:05:46 0:00:14 0:05:32 390k 4 308M 4 13.9M 0 0 916k 0 0:05:44 0:00:15 0:05:29 502k 5 308M 5 15.5M 0 0 920k 0 0:05:43 0:00:17 0:05:26 672k 5 308M 5 15.9M 0 0 923k 0 0:05:41 0:00:17 0:05:24 771k 5 308M 5 16.6M 0 0 915k 0 0:05:44 0:00:18 0:05:26 846k 5 308M 5 17.1M 0 0 891k 0 0:05:54 0:00:19 0:05:35 835k 5 308M 5 17.4M 0 0 864k 0 0:06:05 0:00:20 0:05:45 702k 5 308M 5 17.8M 0 0 846k 0 0:06:12 0:00:21 0:05:51 557k 6 308M 6 18.7M 0 0 846k 0 0:06:12 0:00:22 0:05:50 576k 6 308M 6 20.3M 0 0 882k 0 0:05:57 0:00:23 0:05:34 761k 7 308M 7 22.8M 0 0 950k 0 0:05:32 0:00:24 0:05:08 1183k 8 308M 8 26.0M 0 0 1040k 0 0:05:03 0:00:25 0:04:38 1769k 11 308M 11 35.1M 0 0 986k 0 0:05:20 0:00:36 0:04:44 1189k 11 308M 11 35.3M 0 0 987k 0 0:05:19 0:00:36 0:04:43 1213k 12 308M 12 39.1M 0 0 1063k 0 0:04:56 0:00:37 0:04:19 1369k 14 308M 14 43.4M 0 0 1151k 0 0:04:34 0:00:38 0:03:56 1506k 15 308M 15 48.0M 0 0 1240k 0 0:04:14 0:00:39 0:03:35 1608k 17 308M 17 54.1M 0 0 1290k 0 0:04:04 0:00:42 0:03:22 3021k 17 308M 17 55.3M 0 0 1298k 0 0:04:03 0:00:43 0:03:20 2926k 18 308M 18 57.0M 0 0 1308k 0 0:04:01 0:00:44 0:03:17 2626k 19 308M 19 59.4M 0 0 1333k 0 0:03:56 0:00:45 0:03:11 2338k 20 308M 20 62.5M 0 0 1373k 0 0:03:49 0:00:46 0:03:03 2126k 21 308M 21 66.3M 0 0 1427k 0 0:03:41 0:00:47 0:02:54 2672k 22 308M 22 70.7M 0 0 1489k 0 0:03:32 0:00:48 0:02:44 3153k 24 308M 24 74.9M 0 0 1545k 0 0:03:24 0:00:49 0:02:35 3661k 25 308M 25 78.1M 0 0 1580k 0 0:03:19 0:00:50 0:02:29 3827k 26 308M 26 80.9M 0 0 1605k 0 0:03:16 0:00:51 0:02:25 3763k 27 308M 27 84.4M 0 0 1642k 0 0:03:12 0:00:52 0:02:20 3692k 28 308M 28 88.5M 0 0 1689k 0 0:03:06 0:00:53 0:02:13 3642k 30 308M 30 92.8M 0 0 1740k 0 0:03:01 0:00:54 0:02:07 3670k 32 308M 32 99.6M 0 0 1824k 0 0:02:53 0:00:55 0:01:58 4151k 33 308M 33 103M 0 0 1876k 0 0:02:48 0:00:56 0:01:52 4681k 35 308M 35 109M 0 0 1939k 0 0:02:42 0:00:57 0:01:45 5061k 36 308M 36 112M 0 0 1972k 0 0:02:40 0:00:58 0:01:42 5011k 38 308M 38 117M 0 0 2011k 0 0:02:36 0:00:59 0:01:37 4978k 39 308M 39 122M 0 0 2061k 0 0:02:33 0:01:00 0:01:33 4891k 41 308M 41 127M 0 0 2120k 0 0:02:28 0:01:01 0:01:27 4876k 43 308M 43 133M 0 0 2182k 0 0:02:24 0:01:02 0:01:22 4993k 47 308M 47 145M 0 0 2242k 0 0:02:20 0:01:06 0:01:14 4291k 47 308M 47 146M 0 0 2243k 0 0:02:20 0:01:06 0:01:14 4221k 48 308M 48 150M 0 0 2285k 0 0:02:18 0:01:07 0:01:11 4224k 50 308M 50 155M 0 0 2326k 0 0:02:15 0:01:08 0:01:07 4141k 51 308M 51 160M 0 0 2355k 0 0:02:14 0:01:09 0:01:05 3897k 53 308M 53 165M 0 0 2394k 0 0:02:11 0:01:10 0:01:01 4755k 55 308M 55 170M 0 0 2438k 0 0:02:09 0:01:11 0:00:58 5030k 57 308M 57 176M 0 0 2487k 0 0:02:06 0:01:12 0:00:54 5219k 58 308M 58 180M 0 0 2514k 0 0:02:05 0:01:13 0:00:52 5100k 59 308M 59 183M 0 0 2511k 0 0:02:05 0:01:14 0:00:51 4691k 59 308M 59 183M 0 0 2487k 0 0:02:06 0:01:15 0:00:51 3792k 59 308M 59 184M 0 0 2466k 0 0:02:07 0:01:16 0:00:51 2874k 60 308M 60 185M 0 0 2440k 0 0:02:09 0:01:17 0:00:52 1765k 60 308M 60 185M 0 0 2414k 0 0:02:10 0:01:18 0:00:52 945k 60 308M 60 185M 0 0 2391k 0 0:02:12 0:01:19 0:00:53 594k 60 308M 60 187M 0 0 2377k 0 0:02:12 0:01:20 0:00:52 716k 61 308M 61 190M 0 0 2376k 0 0:02:12 0:01:22 0:00:50 1144k 62 308M 62 192M 0 0 2379k 0 0:02:12 0:01:22 0:00:50 1427k 63 308M 63 195M 0 0 2393k 0 0:02:11 0:01:23 0:00:48 2058k 64 308M 64 199M 0 0 2415k 0 0:02:10 0:01:24 0:00:46 2795k 66 308M 66 204M 0 0 2445k 0 0:02:09 0:01:25 0:00:44 3532k 67 308M 67 209M 0 0 2477k 0 0:02:07 0:01:26 0:00:41 4377k 69 308M 69 213M 0 0 2499k 0 0:02:06 0:01:27 0:00:39 4489k 70 308M 70 217M 0 0 2517k 0 0:02:05 0:01:28 0:00:37 4592k 72 308M 72 222M 0 0 2538k 0 0:02:04 0:01:29 0:00:35 4633k 73 308M 73 226M 0 0 2562k 0 0:02:03 0:01:30 0:00:33 4569k 75 308M 75 232M 0 0 2595k 0 0:02:01 0:01:31 0:00:30 4649k 77 308M 77 238M 0 0 2632k 0 0:01:59 0:01:32 0:00:27 4953k 79 308M 79 244M 0 0 2671k 0 0:01:58 0:01:33 0:00:25 5409k 81 308M 81 250M 0 0 2706k 0 0:01:56 0:01:34 0:00:22 5718k 85 308M 85 263M 0 0 2781k 0 0:01:53 0:01:36 0:00:17 5932k 86 308M 86 266M 0 0 2799k 0 0:01:52 0:01:37 0:00:15 5904k 88 308M 88 272M 0 0 2831k 0 0:01:51 0:01:38 0:00:13 5914k 90 308M 90 277M 0 0 2856k 0 0:01:50 0:01:39 0:00:11 5744k 91 308M 91 282M 0 0 2879k 0 0:01:49 0:01:40 0:00:09 5597k 93 308M 93 287M 0 0 2898k 0 0:01:48 0:01:41 0:00:07 5310k 94 308M 94 292M 0 0 2920k 0 0:01:48 0:01:42 0:00:06 5292k 96 308M 96 297M 0 0 2940k 0 0:01:47 0:01:43 0:00:04 5071k 97 308M 97 301M 0 0 2951k 0 0:01:46 0:01:44 0:00:02 4850k 99 308M 99 306M 0 0 2967k 0 0:01:46 0:01:45 0:00:01 4745k 100 308M 100 308M 0 0 2976k 0 0:01:46 0:01:46 --:--:-- 4766k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 950k 0 0 1492k 0 0:03:31 --:--:-- 0:03:31 $'1492k\r' 2 308M 2 7094k 0 0 3562k 0 0:01:28 0:00:01 0:01:27 $'3563k\r' 2 308M 2 8086k 0 0 3060k 0 0:01:43 0:00:02 0:01:41 $'3060k\r' 2 308M 2 8646k 0 0 2376k 0 0:02:12 0:00:03 0:02:09 $'2376k\r' 2 308M 2 9126k 0 0 1966k 0 0:02:40 0:00:04 0:02:36 $'1966k\r' 3 308M 3 9526k 0 0 1687k 0 0:03:07 0:00:05 0:03:02 $'1712k\r' 3 308M 3 9910k 0 0 1491k 0 0:03:31 0:00:06 0:03:25 $'605k\r' 3 308M 3 10.1M 0 0 1360k 0 0:03:52 0:00:07 0:03:45 $'461k\r' 3 308M 3 10.7M 0 0 1269k 0 0:04:08 0:00:08 0:04:00 $'463k\r' 3 308M 3 11.1M 0 0 1181k 0 0:04:27 0:00:09 0:04:18 $'451k\r' 3 308M 3 11.5M 0 0 1110k 0 0:04:44 0:00:10 0:04:34 $'458k\r' 3 308M 3 11.8M 0 0 1039k 0 0:05:03 0:00:11 0:04:52 $'440k\r' 3 308M 3 12.1M 0 0 983k 0 0:05:20 0:00:12 0:05:08 $'409k\r' 4 308M 4 12.5M 0 0 940k 0 0:05:35 0:00:13 0:05:22 $'375k\r' 4 308M 4 13.0M 0 0 911k 0 0:05:46 0:00:14 0:05:32 $'390k\r' 4 308M 4 13.9M 0 0 916k 0 0:05:44 0:00:15 0:05:29 $'502k\r' 5 308M 5 15.5M 0 0 920k 0 0:05:43 0:00:17 0:05:26 $'672k\r' 5 308M 5 15.9M 0 0 923k 0 0:05:41 0:00:17 0:05:24 $'771k\r' 5 308M 5 16.6M 0 0 915k 0 0:05:44 0:00:18 0:05:26 $'846k\r' 5 308M 5 17.1M 0 0 891k 0 0:05:54 0:00:19 0:05:35 $'835k\r' 5 308M 5 17.4M 0 0 864k 0 0:06:05 0:00:20 0:05:45 $'702k\r' 5 308M 5 17.8M 0 0 846k 0 0:06:12 0:00:21 0:05:51 $'557k\r' 6 308M 6 18.7M 0 0 846k 0 0:06:12 0:00:22 0:05:50 $'576k\r' 6 308M 6 20.3M 0 0 882k 0 0:05:57 0:00:23 0:05:34 $'761k\r' 7 308M 7 22.8M 0 0 950k 0 0:05:32 0:00:24 0:05:08 $'1183k\r' 8 308M 8 26.0M 0 0 1040k 0 0:05:03 0:00:25 0:04:38 $'1769k\r' 11 308M 11 35.1M 0 0 986k 0 0:05:20 0:00:36 0:04:44 $'1189k\r' 11 308M 11 35.3M 0 0 987k 0 0:05:19 0:00:36 0:04:43 $'1213k\r' 12 308M 12 39.1M 0 0 1063k 0 0:04:56 0:00:37 0:04:19 $'1369k\r' 14 308M 14 43.4M 0 0 1151k 0 0:04:34 0:00:38 0:03:56 $'1506k\r' 15 308M 15 48.0M 0 0 1240k 0 0:04:14 0:00:39 0:03:35 $'1608k\r' 17 308M 17 54.1M 0 0 1290k 0 0:04:04 0:00:42 0:03:22 $'3021k\r' 17 308M 17 55.3M 0 0 1298k 0 0:04:03 0:00:43 0:03:20 $'2926k\r' 18 308M 18 57.0M 0 0 1308k 0 0:04:01 0:00:44 0:03:17 $'2626k\r' 19 308M 19 59.4M 0 0 1333k 0 0:03:56 0:00:45 0:03:11 $'2338k\r' 20 308M 20 62.5M 0 0 1373k 0 0:03:49 0:00:46 0:03:03 $'2126k\r' 21 308M 21 66.3M 0 0 1427k 0 0:03:41 0:00:47 0:02:54 $'2672k\r' 22 308M 22 70.7M 0 0 1489k 0 0:03:32 0:00:48 0:02:44 $'3153k\r' 24 308M 24 74.9M 0 0 1545k 0 0:03:24 0:00:49 0:02:35 $'3661k\r' 25 308M 25 78.1M 0 0 1580k 0 0:03:19 0:00:50 0:02:29 $'3827k\r' 26 308M 26 80.9M 0 0 1605k 0 0:03:16 0:00:51 0:02:25 $'3763k\r' 27 308M 27 84.4M 0 0 1642k 0 0:03:12 0:00:52 0:02:20 $'3692k\r' 28 308M 28 88.5M 0 0 1689k 0 0:03:06 0:00:53 0:02:13 $'3642k\r' 30 308M 30 92.8M 0 0 1740k 0 0:03:01 0:00:54 0:02:07 $'3670k\r' 32 308M 32 99.6M 0 0 1824k 0 0:02:53 0:00:55 0:01:58 $'4151k\r' 33 308M 33 103M 0 0 1876k 0 0:02:48 0:00:56 0:01:52 $'4681k\r' 35 308M 35 109M 0 0 1939k 0 0:02:42 0:00:57 0:01:45 $'5061k\r' 36 308M 36 112M 0 0 1972k 0 0:02:40 0:00:58 0:01:42 $'5011k\r' 38 308M 38 117M 0 0 2011k 0 0:02:36 0:00:59 0:01:37 $'4978k\r' 39 308M 39 122M 0 0 2061k 0 0:02:33 0:01:00 0:01:33 $'4891k\r' 41 308M 41 127M 0 0 2120k 0 0:02:28 0:01:01 0:01:27 $'4876k\r' 43 308M 43 133M 0 0 2182k 0 0:02:24 0:01:02 0:01:22 $'4993k\r' 47 308M 47 145M 0 0 2242k 0 0:02:20 0:01:06 0:01:14 $'4291k\r' 47 308M 47 146M 0 0 2243k 0 0:02:20 0:01:06 0:01:14 $'4221k\r' 48 308M 48 150M 0 0 2285k 0 0:02:18 0:01:07 0:01:11 $'4224k\r' 50 308M 50 155M 0 0 2326k 0 0:02:15 0:01:08 0:01:07 $'4141k\r' 51 308M 51 160M 0 0 2355k 0 0:02:14 0:01:09 0:01:05 $'3897k\r' 53 308M 53 165M 0 0 2394k 0 0:02:11 0:01:10 0:01:01 $'4755k\r' 55 308M 55 170M 0 0 2438k 0 0:02:09 0:01:11 0:00:58 $'5030k\r' 57 308M 57 176M 0 0 2487k 0 0:02:06 0:01:12 0:00:54 $'5219k\r' 58 308M 58 180M 0 0 2514k 0 0:02:05 0:01:13 0:00:52 $'5100k\r' 59 308M 59 183M 0 0 2511k 0 0:02:05 0:01:14 0:00:51 $'4691k\r' 59 308M 59 183M 0 0 2487k 0 0:02:06 0:01:15 0:00:51 $'3792k\r' 59 308M 59 184M 0 0 2466k 0 0:02:07 0:01:16 0:00:51 $'2874k\r' 60 308M 60 185M 0 0 2440k 0 0:02:09 0:01:17 0:00:52 $'1765k\r' 60 308M 60 185M 0 0 2414k 0 0:02:10 0:01:18 0:00:52 $'945k\r' 60 308M 60 185M 0 0 2391k 0 0:02:12 0:01:19 0:00:53 $'594k\r' 60 308M 60 187M 0 0 2377k 0 0:02:12 0:01:20 0:00:52 $'716k\r' 61 308M 61 190M 0 0 2376k 0 0:02:12 0:01:22 0:00:50 $'1144k\r' 62 308M 62 192M 0 0 2379k 0 0:02:12 0:01:22 0:00:50 $'1427k\r' 63 308M 63 195M 0 0 2393k 0 0:02:11 0:01:23 0:00:48 $'2058k\r' 64 308M 64 199M 0 0 2415k 0 0:02:10 0:01:24 0:00:46 $'2795k\r' 66 308M 66 204M 0 0 2445k 0 0:02:09 0:01:25 0:00:44 $'3532k\r' 67 308M 67 209M 0 0 2477k 0 0:02:07 0:01:26 0:00:41 $'4377k\r' 69 308M 69 213M 0 0 2499k 0 0:02:06 0:01:27 0:00:39 $'4489k\r' 70 308M 70 217M 0 0 2517k 0 0:02:05 0:01:28 0:00:37 $'4592k\r' 72 308M 72 222M 0 0 2538k 0 0:02:04 0:01:29 0:00:35 $'4633k\r' 73 308M 73 226M 0 0 2562k 0 0:02:03 0:01:30 0:00:33 $'4569k\r' 75 308M 75 232M 0 0 2595k 0 0:02:01 0:01:31 0:00:30 $'4649k\r' 77 308M 77 238M 0 0 2632k 0 0:01:59 0:01:32 0:00:27 $'4953k\r' 79 308M 79 244M 0 0 2671k 0 0:01:58 0:01:33 0:00:25 $'5409k\r' 81 308M 81 250M 0 0 2706k 0 0:01:56 0:01:34 0:00:22 $'5718k\r' 85 308M 85 263M 0 0 2781k 0 0:01:53 0:01:36 0:00:17 $'5932k\r' 86 308M 86 266M 0 0 2799k 0 0:01:52 0:01:37 0:00:15 $'5904k\r' 88 308M 88 272M 0 0 2831k 0 0:01:51 0:01:38 0:00:13 $'5914k\r' 90 308M 90 277M 0 0 2856k 0 0:01:50 0:01:39 0:00:11 $'5744k\r' 91 308M 91 282M 0 0 2879k 0 0:01:49 0:01:40 0:00:09 $'5597k\r' 93 308M 93 287M 0 0 2898k 0 0:01:48 0:01:41 0:00:07 $'5310k\r' 94 308M 94 292M 0 0 2920k 0 0:01:48 0:01:42 0:00:06 $'5292k\r' 96 308M 96 297M 0 0 2940k 0 0:01:47 0:01:43 0:00:04 $'5071k\r' 97 308M 97 301M 0 0 2951k 0 0:01:46 0:01:44 0:00:02 $'4850k\r' 99 308M 99 306M 0 0 2967k 0 0:01:46 0:01:45 0:00:01 $'4745k\r100' 308M 100 308M 0 0 2976k 0 0:01:46 0:01:46 --:--:-- 4766k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ bp=222 ++ bpb=222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 950k 0 0 1492k 0 0:03:31 --:--:-- 0:03:31 $'1492k\r' 2 308M 2 7094k 0 0 3562k 0 0:01:28 0:00:01 0:01:27 $'3563k\r' 2 308M 2 8086k 0 0 3060k 0 0:01:43 0:00:02 0:01:41 $'3060k\r' 2 308M 2 8646k 0 0 2376k 0 0:02:12 0:00:03 0:02:09 $'2376k\r' 2 308M 2 9126k 0 0 1966k 0 0:02:40 0:00:04 0:02:36 $'1966k\r' 3 308M 3 9526k 0 0 1687k 0 0:03:07 0:00:05 0:03:02 $'1712k\r' 3 308M 3 9910k 0 0 1491k 0 0:03:31 0:00:06 0:03:25 $'605k\r' 3 308M 3 10.1M 0 0 1360k 0 0:03:52 0:00:07 0:03:45 $'461k\r' 3 308M 3 10.7M 0 0 1269k 0 0:04:08 0:00:08 0:04:00 $'463k\r' 3 308M 3 11.1M 0 0 1181k 0 0:04:27 0:00:09 0:04:18 $'451k\r' 3 308M 3 11.5M 0 0 1110k 0 0:04:44 0:00:10 0:04:34 $'458k\r' 3 308M 3 11.8M 0 0 1039k 0 0:05:03 0:00:11 0:04:52 $'440k\r' 3 308M 3 12.1M 0 0 983k 0 0:05:20 0:00:12 0:05:08 $'409k\r' 4 308M 4 12.5M 0 0 940k 0 0:05:35 0:00:13 0:05:22 $'375k\r' 4 308M 4 13.0M 0 0 911k 0 0:05:46 0:00:14 0:05:32 $'390k\r' 4 308M 4 13.9M 0 0 916k 0 0:05:44 0:00:15 0:05:29 $'502k\r' 5 308M 5 15.5M 0 0 920k 0 0:05:43 0:00:17 0:05:26 $'672k\r' 5 308M 5 15.9M 0 0 923k 0 0:05:41 0:00:17 0:05:24 $'771k\r' 5 308M 5 16.6M 0 0 915k 0 0:05:44 0:00:18 0:05:26 $'846k\r' 5 308M 5 17.1M 0 0 891k 0 0:05:54 0:00:19 0:05:35 $'835k\r' 5 308M 5 17.4M 0 0 864k 0 0:06:05 0:00:20 0:05:45 $'702k\r' 5 308M 5 17.8M 0 0 846k 0 0:06:12 0:00:21 0:05:51 $'557k\r' 6 308M 6 18.7M 0 0 846k 0 0:06:12 0:00:22 0:05:50 $'576k\r' 6 308M 6 20.3M 0 0 882k 0 0:05:57 0:00:23 0:05:34 $'761k\r' 7 308M 7 22.8M 0 0 950k 0 0:05:32 0:00:24 0:05:08 $'1183k\r' 8 308M 8 26.0M 0 0 1040k 0 0:05:03 0:00:25 0:04:38 $'1769k\r' 11 308M 11 35.1M 0 0 986k 0 0:05:20 0:00:36 0:04:44 $'1189k\r' 11 308M 11 35.3M 0 0 987k 0 0:05:19 0:00:36 0:04:43 $'1213k\r' 12 308M 12 39.1M 0 0 1063k 0 0:04:56 0:00:37 0:04:19 $'1369k\r' 14 308M 14 43.4M 0 0 1151k 0 0:04:34 0:00:38 0:03:56 $'1506k\r' 15 308M 15 48.0M 0 0 1240k 0 0:04:14 0:00:39 0:03:35 $'1608k\r' 17 308M 17 54.1M 0 0 1290k 0 0:04:04 0:00:42 0:03:22 $'3021k\r' 17 308M 17 55.3M 0 0 1298k 0 0:04:03 0:00:43 0:03:20 $'2926k\r' 18 308M 18 57.0M 0 0 1308k 0 0:04:01 0:00:44 0:03:17 $'2626k\r' 19 308M 19 59.4M 0 0 1333k 0 0:03:56 0:00:45 0:03:11 $'2338k\r' 20 308M 20 62.5M 0 0 1373k 0 0:03:49 0:00:46 0:03:03 $'2126k\r' 21 308M 21 66.3M 0 0 1427k 0 0:03:41 0:00:47 0:02:54 $'2672k\r' 22 308M 22 70.7M 0 0 1489k 0 0:03:32 0:00:48 0:02:44 $'3153k\r' 24 308M 24 74.9M 0 0 1545k 0 0:03:24 0:00:49 0:02:35 $'3661k\r' 25 308M 25 78.1M 0 0 1580k 0 0:03:19 0:00:50 0:02:29 $'3827k\r' 26 308M 26 80.9M 0 0 1605k 0 0:03:16 0:00:51 0:02:25 $'3763k\r' 27 308M 27 84.4M 0 0 1642k 0 0:03:12 0:00:52 0:02:20 $'3692k\r' 28 308M 28 88.5M 0 0 1689k 0 0:03:06 0:00:53 0:02:13 $'3642k\r' 30 308M 30 92.8M 0 0 1740k 0 0:03:01 0:00:54 0:02:07 $'3670k\r' 32 308M 32 99.6M 0 0 1824k 0 0:02:53 0:00:55 0:01:58 $'4151k\r' 33 308M 33 103M 0 0 1876k 0 0:02:48 0:00:56 0:01:52 $'4681k\r' 35 308M 35 109M 0 0 1939k 0 0:02:42 0:00:57 0:01:45 $'5061k\r' 36 308M 36 112M 0 0 1972k 0 0:02:40 0:00:58 0:01:42 $'5011k\r' 38 308M 38 117M 0 0 2011k 0 0:02:36 0:00:59 0:01:37 $'4978k\r' 39 308M 39 122M 0 0 2061k 0 0:02:33 0:01:00 0:01:33 $'4891k\r' 41 308M 41 127M 0 0 2120k 0 0:02:28 0:01:01 0:01:27 $'4876k\r' 43 308M 43 133M 0 0 2182k 0 0:02:24 0:01:02 0:01:22 $'4993k\r' 47 308M 47 145M 0 0 2242k 0 0:02:20 0:01:06 0:01:14 $'4291k\r' 47 308M 47 146M 0 0 2243k 0 0:02:20 0:01:06 0:01:14 $'4221k\r' 48 308M 48 150M 0 0 2285k 0 0:02:18 0:01:07 0:01:11 $'4224k\r' 50 308M 50 155M 0 0 2326k 0 0:02:15 0:01:08 0:01:07 $'4141k\r' 51 308M 51 160M 0 0 2355k 0 0:02:14 0:01:09 0:01:05 $'3897k\r' 53 308M 53 165M 0 0 2394k 0 0:02:11 0:01:10 0:01:01 $'4755k\r' 55 308M 55 170M 0 0 2438k 0 0:02:09 0:01:11 0:00:58 $'5030k\r' 57 308M 57 176M 0 0 2487k 0 0:02:06 0:01:12 0:00:54 $'5219k\r' 58 308M 58 180M 0 0 2514k 0 0:02:05 0:01:13 0:00:52 $'5100k\r' 59 308M 59 183M 0 0 2511k 0 0:02:05 0:01:14 0:00:51 $'4691k\r' 59 308M 59 183M 0 0 2487k 0 0:02:06 0:01:15 0:00:51 $'3792k\r' 59 308M 59 184M 0 0 2466k 0 0:02:07 0:01:16 0:00:51 $'2874k\r' 60 308M 60 185M 0 0 2440k 0 0:02:09 0:01:17 0:00:52 $'1765k\r' 60 308M 60 185M 0 0 2414k 0 0:02:10 0:01:18 0:00:52 $'945k\r' 60 308M 60 185M 0 0 2391k 0 0:02:12 0:01:19 0:00:53 $'594k\r' 60 308M 60 187M 0 0 2377k 0 0:02:12 0:01:20 0:00:52 $'716k\r' 61 308M 61 190M 0 0 2376k 0 0:02:12 0:01:22 0:00:50 $'1144k\r' 62 308M 62 192M 0 0 2379k 0 0:02:12 0:01:22 0:00:50 $'1427k\r' 63 308M 63 195M 0 0 2393k 0 0:02:11 0:01:23 0:00:48 $'2058k\r' 64 308M 64 199M 0 0 2415k 0 0:02:10 0:01:24 0:00:46 $'2795k\r' 66 308M 66 204M 0 0 2445k 0 0:02:09 0:01:25 0:00:44 $'3532k\r' 67 308M 67 209M 0 0 2477k 0 0:02:07 0:01:26 0:00:41 $'4377k\r' 69 308M 69 213M 0 0 2499k 0 0:02:06 0:01:27 0:00:39 $'4489k\r' 70 308M 70 217M 0 0 2517k 0 0:02:05 0:01:28 0:00:37 $'4592k\r' 72 308M 72 222M 0 0 2538k 0 0:02:04 0:01:29 0:00:35 $'4633k\r' 73 308M 73 226M 0 0 2562k 0 0:02:03 0:01:30 0:00:33 $'4569k\r' 75 308M 75 232M 0 0 2595k 0 0:02:01 0:01:31 0:00:30 $'4649k\r' 77 308M 77 238M 0 0 2632k 0 0:01:59 0:01:32 0:00:27 $'4953k\r' 79 308M 79 244M 0 0 2671k 0 0:01:58 0:01:33 0:00:25 $'5409k\r' 81 308M 81 250M 0 0 2706k 0 0:01:56 0:01:34 0:00:22 $'5718k\r' 85 308M 85 263M 0 0 2781k 0 0:01:53 0:01:36 0:00:17 $'5932k\r' 86 308M 86 266M 0 0 2799k 0 0:01:52 0:01:37 0:00:15 $'5904k\r' 88 308M 88 272M 0 0 2831k 0 0:01:51 0:01:38 0:00:13 $'5914k\r' 90 308M 90 277M 0 0 2856k 0 0:01:50 0:01:39 0:00:11 $'5744k\r' 91 308M 91 282M 0 0 2879k 0 0:01:49 0:01:40 0:00:09 $'5597k\r' 93 308M 93 287M 0 0 2898k 0 0:01:48 0:01:41 0:00:07 $'5310k\r' 94 308M 94 292M 0 0 2920k 0 0:01:48 0:01:42 0:00:06 $'5292k\r' 96 308M 96 297M 0 0 2940k 0 0:01:47 0:01:43 0:00:04 $'5071k\r' 97 308M 97 301M 0 0 2951k 0 0:01:46 0:01:44 0:00:02 $'4850k\r' 99 308M 99 306M 0 0 2967k 0 0:01:46 0:01:45 0:00:01 $'4745k\r100' 308M 100 308M 0 0 2976k 0 0:01:46 0:01:46 --:--:-- 4766k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 222 ']' ++ '[' '!' -d 222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 57 3577k 57 2049k 0 0 3990k 0 --:--:-- --:--:-- --:--:-- 3994k 100 3577k 100 3577k 0 0 4974k 0 --:--:-- --:--:-- --:--:-- 4975k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 57 3577k 57 2049k 0 0 3990k 0 --:--:-- --:--:-- --:--:-- $'3994k\r100' 3577k 100 3577k 0 0 4974k 0 --:--:-- --:--:-- --:--:-- 4975k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=i.20231207+g03813c9fe8 ++ bpb=i.20231207+g03813c9fe8/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 57 3577k 57 2049k 0 0 3990k 0 --:--:-- --:--:-- --:--:-- $'3994k\r100' 3577k 100 3577k 0 0 4974k 0 --:--:-- --:--:-- --:--:-- 4975k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z i.20231207+g03813c9fe8 ']' ++ '[' '!' -d i.20231207+g03813c9fe8 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 35 14.5M 35 5294k 0 0 6160k 0 0:00:02 --:--:-- 0:00:02 6163k 97 14.5M 97 14.1M 0 0 7793k 0 0:00:01 0:00:01 --:--:-- 7792k 100 14.5M 100 14.5M 0 0 7848k 0 0:00:01 0:00:01 --:--:-- 7849k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 35 14.5M 35 5294k 0 0 6160k 0 0:00:02 --:--:-- 0:00:02 $'6163k\r' 97 14.5M 97 14.1M 0 0 7793k 0 0:00:01 0:00:01 --:--:-- $'7792k\r100' 14.5M 100 14.5M 0 0 7848k 0 0:00:01 0:00:01 --:--:-- 7849k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=uyi.20240128 ++ bpb=uyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 35 14.5M 35 5294k 0 0 6160k 0 0:00:02 --:--:-- 0:00:02 $'6163k\r' 97 14.5M 97 14.1M 0 0 7793k 0 0:00:01 0:00:01 --:--:-- $'7792k\r100' 14.5M 100 14.5M 0 0 7848k 0 0:00:01 0:00:01 --:--:-- 7849k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z uyi.20240128 ']' ++ '[' '!' -d uyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 +240128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 +28.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 82.3M 6 5631k 0 0 4974k 0 0:00:16 0:00:01 0:00:15 4975k 15 82.3M 15 12.9M 0 0 6207k 0 0:00:13 0:00:02 0:00:11 6209k 25 82.3M 25 20.6M 0 0 6758k 0 0:00:12 0:00:03 0:00:09 6759k 28 82.3M 28 23.6M 0 0 5858k 0 0:00:14 0:00:04 0:00:10 5858k 31 82.3M 31 26.1M 0 0 5224k 0 0:00:16 0:00:05 0:00:11 5363k 35 82.3M 35 29.2M 0 0 4876k 0 0:00:17 0:00:06 0:00:11 4854k 39 82.3M 39 32.3M 0 0 4610k 0 0:00:18 0:00:07 0:00:11 3936k 43 82.3M 43 35.4M 0 0 4470k 0 0:00:18 0:00:08 0:00:10 3034k 47 82.3M 47 39.2M 0 0 4401k 0 0:00:19 0:00:09 0:00:10 3196k 53 82.3M 53 43.9M 0 0 4437k 0 0:00:19 0:00:10 0:00:09 3628k 60 82.3M 60 49.4M 0 0 4547k 0 0:00:18 0:00:11 0:00:07 4143k 67 82.3M 67 55.3M 0 0 4668k 0 0:00:18 0:00:12 0:00:06 4752k 73 82.3M 73 60.5M 0 0 4723k 0 0:00:17 0:00:13 0:00:04 5136k 79 82.3M 79 65.5M 0 0 4747k 0 0:00:17 0:00:14 0:00:03 5379k 85 82.3M 85 70.4M 0 0 4769k 0 0:00:17 0:00:15 0:00:02 5443k 91 82.3M 91 75.6M 0 0 4800k 0 0:00:17 0:00:16 0:00:01 5364k 97 82.3M 97 80.3M 0 0 4802k 0 0:00:17 0:00:17 --:--:-- 5126k 100 82.3M 100 82.3M 0 0 4795k 0 0:00:17 0:00:17 --:--:-- 5005k +info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst +for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 +-ruyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 82.3M 6 5631k 0 0 4974k 0 0:00:16 0:00:01 0:00:15 $'4975k\r' 15 82.3M 15 12.9M 0 0 6207k 0 0:00:13 0:00:02 0:00:11 $'6209k\r' 25 82.3M 25 20.6M 0 0 6758k 0 0:00:12 0:00:03 0:00:09 $'6759k\r' 28 82.3M 28 23.6M 0 0 5858k 0 0:00:14 0:00:04 0:00:10 $'5858k\r' 31 82.3M 31 26.1M 0 0 5224k 0 0:00:16 0:00:05 0:00:11 $'5363k\r' 35 82.3M 35 29.2M 0 0 4876k 0 0:00:17 0:00:06 0:00:11 $'4854k\r' 39 82.3M 39 32.3M 0 0 4610k 0 0:00:18 0:00:07 0:00:11 $'3936k\r' 43 82.3M 43 35.4M 0 0 4470k 0 0:00:18 0:00:08 0:00:10 $'3034k\r' 47 82.3M 47 39.2M 0 0 4401k 0 0:00:19 0:00:09 0:00:10 $'3196k\r' 53 82.3M 53 43.9M 0 0 4437k 0 0:00:19 0:00:10 0:00:09 $'3628k\r' 60 82.3M 60 49.4M 0 0 4547k 0 0:00:18 0:00:11 0:00:07 $'4143k\r' 67 82.3M 67 55.3M 0 0 4668k 0 0:00:18 0:00:12 0:00:06 $'4752k\r' 73 82.3M 73 60.5M 0 0 4723k 0 0:00:17 0:00:13 0:00:04 $'5136k\r' 79 82.3M 79 65.5M 0 0 4747k 0 0:00:17 0:00:14 0:00:03 $'5379k\r' 85 82.3M 85 70.4M 0 0 4769k 0 0:00:17 0:00:15 0:00:02 $'5443k\r' 91 82.3M 91 75.6M 0 0 4800k 0 0:00:17 0:00:16 0:00:01 $'5364k\r' 97 82.3M 97 80.3M 0 0 4802k 0 0:00:17 0:00:17 --:--:-- $'5126k\r100' 82.3M 100 82.3M 0 0 4795k 0 0:00:17 0:00:17 --:--:-- 5005k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=-ruyi.20240128 ++ bpb=-ruyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 82.3M 6 5631k 0 0 4974k 0 0:00:16 0:00:01 0:00:15 $'4975k\r' 15 82.3M 15 12.9M 0 0 6207k 0 0:00:13 0:00:02 0:00:11 $'6209k\r' 25 82.3M 25 20.6M 0 0 6758k 0 0:00:12 0:00:03 0:00:09 $'6759k\r' 28 82.3M 28 23.6M 0 0 5858k 0 0:00:14 0:00:04 0:00:10 $'5858k\r' 31 82.3M 31 26.1M 0 0 5224k 0 0:00:16 0:00:05 0:00:11 $'5363k\r' 35 82.3M 35 29.2M 0 0 4876k 0 0:00:17 0:00:06 0:00:11 $'4854k\r' 39 82.3M 39 32.3M 0 0 4610k 0 0:00:18 0:00:07 0:00:11 $'3936k\r' 43 82.3M 43 35.4M 0 0 4470k 0 0:00:18 0:00:08 0:00:10 $'3034k\r' 47 82.3M 47 39.2M 0 0 4401k 0 0:00:19 0:00:09 0:00:10 $'3196k\r' 53 82.3M 53 43.9M 0 0 4437k 0 0:00:19 0:00:10 0:00:09 $'3628k\r' 60 82.3M 60 49.4M 0 0 4547k 0 0:00:18 0:00:11 0:00:07 $'4143k\r' 67 82.3M 67 55.3M 0 0 4668k 0 0:00:18 0:00:12 0:00:06 $'4752k\r' 73 82.3M 73 60.5M 0 0 4723k 0 0:00:17 0:00:13 0:00:04 $'5136k\r' 79 82.3M 79 65.5M 0 0 4747k 0 0:00:17 0:00:14 0:00:03 $'5379k\r' 85 82.3M 85 70.4M 0 0 4769k 0 0:00:17 0:00:15 0:00:02 $'5443k\r' 91 82.3M 91 75.6M 0 0 4800k 0 0:00:17 0:00:16 0:00:01 $'5364k\r' 97 82.3M 97 80.3M 0 0 4802k 0 0:00:17 0:00:17 --:--:-- $'5126k\r100' 82.3M 100 82.3M 0 0 4795k 0 0:00:17 0:00:17 --:--:-- 5005k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z -ruyi.20240128 ']' ++ '[' '!' -d -ruyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 05:22:59 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 05:22:59 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 05:22:59 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmphvnucwbk ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmphvnucwbk ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmphvnucwbk +Wed Apr 10 05:23:37 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmphvnucwbk +Wed Apr 10 05:23:38 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 05:23:39 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-05_23_39.log b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-05_23_39.log new file mode 100644 index 00000000..630ea7bb --- /dev/null +++ b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-05_23_39.log @@ -0,0 +1,589 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 05:23:39 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp86ya98b2 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp86ya98b2 ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp86ya98b2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:24:22 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp86ya98b2 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp86ya98b2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:24:23 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp86ya98b2 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 11 23.7M 11 2794k 0 0 4577k 0 0:00:05 --:--:-- 0:00:05 4581k 42 23.7M 42 10.0M 0 0 6384k 0 0:00:03 0:00:01 0:00:02 6386k 69 23.7M 69 16.4M 0 0 6439k 0 0:00:03 0:00:02 0:00:01 6440k 95 23.7M 95 22.5M 0 0 6401k 0 0:00:03 0:00:03 --:--:-- 6401k 100 23.7M 100 23.7M 0 0 6360k 0 0:00:03 0:00:03 --:--:-- 6360k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmp86ya98b2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmp86ya98b2 ++ tmpfile2=/tmp/tmp86ya98b2 ++ '[' -z /tmp/tmp86ya98b2 ']' ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmp86ya98b2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:24:55 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp86ya98b2 ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmp86ya98b2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:24:55 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp86ya98b2 ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 05:24:55 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 05:24:55 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 187k 0 0 727k 0 0:07:14 --:--:-- 0:07:14 729k 1 308M 1 5387k 0 0 4186k 0 0:01:15 0:00:01 0:01:14 4186k 2 308M 2 9195k 0 0 4085k 0 0:01:17 0:00:02 0:01:15 4085k 3 308M 3 12.2M 0 0 3865k 0 0:01:21 0:00:03 0:01:18 3865k 5 308M 5 16.1M 0 0 3889k 0 0:01:21 0:00:04 0:01:17 3889k 6 308M 6 21.2M 0 0 4143k 0 0:01:16 0:00:05 0:01:11 4319k 8 308M 8 27.1M 0 0 4440k 0 0:01:11 0:00:06 0:01:05 4506k 10 308M 10 33.1M 0 0 4677k 0 0:01:07 0:00:07 0:01:00 4943k 12 308M 12 38.5M 0 0 4787k 0 0:01:05 0:00:08 0:00:57 5386k 14 308M 14 43.4M 0 0 4809k 0 0:01:05 0:00:09 0:00:56 5592k 15 308M 15 47.7M 0 0 4766k 0 0:01:06 0:00:10 0:00:56 5420k 16 308M 16 51.7M 0 0 4707k 0 0:01:07 0:00:11 0:00:56 5042k 18 308M 18 56.0M 0 0 4688k 0 0:01:07 0:00:12 0:00:55 4704k 19 308M 19 60.2M 0 0 4656k 0 0:01:07 0:00:13 0:00:54 4440k 20 308M 20 63.9M 0 0 4593k 0 0:01:08 0:00:14 0:00:54 4195k 21 308M 21 67.0M 0 0 4498k 0 0:01:10 0:00:15 0:00:55 3951k 22 308M 22 69.9M 0 0 4405k 0 0:01:11 0:00:16 0:00:55 3725k 23 308M 23 73.5M 0 0 4364k 0 0:01:12 0:00:17 0:00:55 3571k 24 308M 24 76.7M 0 0 4304k 0 0:01:13 0:00:18 0:00:55 3370k 25 308M 25 79.3M 0 0 4214k 0 0:01:14 0:00:19 0:00:55 3138k 26 308M 26 81.1M 0 0 4103k 0 0:01:16 0:00:20 0:00:56 2899k 27 308M 27 83.4M 0 0 4018k 0 0:01:18 0:00:21 0:00:57 2761k 27 308M 27 86.1M 0 0 3965k 0 0:01:19 0:00:22 0:00:57 2588k 28 308M 28 89.1M 0 0 3924k 0 0:01:20 0:00:23 0:00:57 2540k 29 308M 29 92.2M 0 0 3896k 0 0:01:21 0:00:24 0:00:57 2666k 30 308M 30 95.2M 0 0 3861k 0 0:01:21 0:00:25 0:00:56 2880k 31 308M 31 98.6M 0 0 3847k 0 0:01:22 0:00:26 0:00:56 3116k 33 308M 33 102M 0 0 3834k 0 0:01:22 0:00:27 0:00:55 3250k 33 308M 33 104M 0 0 3797k 0 0:01:23 0:00:28 0:00:55 3203k 34 308M 34 107M 0 0 3773k 0 0:01:23 0:00:29 0:00:54 3175k 35 308M 35 110M 0 0 3735k 0 0:01:24 0:00:30 0:00:54 3100k 36 308M 36 112M 0 0 3684k 0 0:01:25 0:00:31 0:00:54 2834k 37 308M 37 115M 0 0 3662k 0 0:01:26 0:00:32 0:00:54 2723k 38 308M 38 119M 0 0 3665k 0 0:01:26 0:00:33 0:00:53 2921k 40 308M 40 123M 0 0 3690k 0 0:01:25 0:00:34 0:00:51 3206k 41 308M 41 127M 0 0 3691k 0 0:01:25 0:00:35 0:00:50 3424k 42 308M 42 129M 0 0 3665k 0 0:01:26 0:00:36 0:00:50 3543k 42 308M 42 131M 0 0 3620k 0 0:01:27 0:00:37 0:00:50 3353k 43 308M 43 133M 0 0 3581k 0 0:01:28 0:00:38 0:00:50 3024k 44 308M 44 135M 0 0 3541k 0 0:01:29 0:00:39 0:00:50 2519k 44 308M 44 137M 0 0 3504k 0 0:01:30 0:00:40 0:00:50 2185k 45 308M 45 140M 0 0 3482k 0 0:01:30 0:00:41 0:00:49 2153k 46 308M 46 142M 0 0 3456k 0 0:01:31 0:00:42 0:00:49 2233k 47 308M 47 145M 0 0 3441k 0 0:01:31 0:00:43 0:00:48 2371k 47 308M 47 147M 0 0 3422k 0 0:01:32 0:00:44 0:00:48 2488k 48 308M 48 150M 0 0 3400k 0 0:01:32 0:00:45 0:00:47 2558k 49 308M 49 152M 0 0 3368k 0 0:01:33 0:00:46 0:00:47 2428k 50 308M 50 154M 0 0 3342k 0 0:01:34 0:00:47 0:00:47 2380k 50 308M 50 156M 0 0 3313k 0 0:01:35 0:00:48 0:00:47 2201k 51 308M 51 157M 0 0 3282k 0 0:01:36 0:00:49 0:00:47 2041k 51 308M 51 159M 0 0 3260k 0 0:01:36 0:00:50 0:00:46 1994k 52 308M 52 161M 0 0 3236k 0 0:01:37 0:00:51 0:00:46 2016k 53 308M 53 163M 0 0 3203k 0 0:01:38 0:00:52 0:00:46 1890k 53 308M 53 164M 0 0 3163k 0 0:01:39 0:00:53 0:00:46 1723k 53 308M 53 165M 0 0 3129k 0 0:01:40 0:00:54 0:00:46 1628k 54 308M 54 167M 0 0 3109k 0 0:01:41 0:00:55 0:00:46 1590k 55 308M 55 169M 0 0 3089k 0 0:01:42 0:00:56 0:00:46 1580k 55 308M 55 170M 0 0 3056k 0 0:01:43 0:00:57 0:00:46 1518k 55 308M 55 171M 0 0 3022k 0 0:01:44 0:00:58 0:00:46 1521k 56 308M 56 173M 0 0 2996k 0 0:01:45 0:00:59 0:00:46 1542k 56 308M 56 175M 0 0 2984k 0 0:01:45 0:01:00 0:00:45 1606k 57 308M 57 178M 0 0 2977k 0 0:01:46 0:01:01 0:00:45 1718k 58 308M 58 180M 0 0 2962k 0 0:01:46 0:01:02 0:00:44 1886k 59 308M 59 182M 0 0 2953k 0 0:01:46 0:01:03 0:00:43 2144k 59 308M 59 184M 0 0 2936k 0 0:01:47 0:01:04 0:00:43 2229k 60 308M 60 185M 0 0 2916k 0 0:01:48 0:01:05 0:00:43 2092k 61 308M 61 188M 0 0 2910k 0 0:01:48 0:01:06 0:00:42 2089k 61 308M 61 190M 0 0 2906k 0 0:01:48 0:01:07 0:00:41 2208k 62 308M 62 192M 0 0 2886k 0 0:01:49 0:01:08 0:00:41 2037k 63 308M 63 194M 0 0 2872k 0 0:01:49 0:01:09 0:00:40 2051k 64 308M 64 199M 0 0 2873k 0 0:01:49 0:01:11 0:00:38 2411k 64 308M 64 199M 0 0 2874k 0 0:01:49 0:01:11 0:00:38 2397k 66 308M 66 204M 0 0 2895k 0 0:01:49 0:01:12 0:00:37 2742k 67 308M 67 209M 0 0 2926k 0 0:01:47 0:01:13 0:00:34 3470k 69 308M 69 215M 0 0 2966k 0 0:01:46 0:01:14 0:00:32 4278k 71 308M 71 221M 0 0 3011k 0 0:01:44 0:01:15 0:00:29 5463k 74 308M 74 228M 0 0 3066k 0 0:01:42 0:01:16 0:00:26 5808k 76 308M 76 236M 0 0 3135k 0 0:01:40 0:01:17 0:00:23 6611k 79 308M 79 245M 0 0 3213k 0 0:01:38 0:01:18 0:00:20 7419k 82 308M 82 255M 0 0 3300k 0 0:01:35 0:01:19 0:00:16 8252k 86 308M 86 266M 0 0 3397k 0 0:01:32 0:01:20 0:00:12 9199k 89 308M 89 276M 0 0 3488k 0 0:01:30 0:01:21 0:00:09 9920k 93 308M 93 287M 0 0 3584k 0 0:01:28 0:01:22 0:00:06 10.2M 96 308M 96 298M 0 0 3676k 0 0:01:25 0:01:23 0:00:02 10.6M 100 308M 100 308M 0 0 3748k 0 0:01:24 0:01:24 --:--:-- 10.6M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 1317k 0 0 3354k 0 0:01:12 --:--:-- 0:01:12 3353k 4 238M 4 11.6M 0 0 8595k 0 0:00:28 0:00:01 0:00:27 8595k 7 238M 7 18.6M 0 0 7964k 0 0:00:30 0:00:02 0:00:28 7965k 10 238M 10 24.7M 0 0 7480k 0 0:00:32 0:00:03 0:00:29 7480k 12 238M 12 29.8M 0 0 6948k 0 0:00:35 0:00:04 0:00:31 6949k 14 238M 14 35.5M 0 0 6747k 0 0:00:36 0:00:05 0:00:31 7014k 17 238M 17 42.0M 0 0 6738k 0 0:00:36 0:00:06 0:00:30 6220k 20 238M 20 49.3M 0 0 6831k 0 0:00:35 0:00:07 0:00:28 6287k 23 238M 23 56.8M 0 0 6902k 0 0:00:35 0:00:08 0:00:27 6514k 26 238M 26 63.0M 0 0 6868k 0 0:00:35 0:00:09 0:00:26 6796k 29 238M 29 70.3M 0 0 6928k 0 0:00:35 0:00:10 0:00:25 7123k 32 238M 32 78.2M 0 0 7030k 0 0:00:34 0:00:11 0:00:23 7404k 36 238M 36 86.4M 0 0 7146k 0 0:00:34 0:00:12 0:00:22 7612k 39 238M 39 95.3M 0 0 7292k 0 0:00:33 0:00:13 0:00:20 7954k 43 238M 43 105M 0 0 7473k 0 0:00:32 0:00:14 0:00:18 8609k 48 238M 48 115M 0 0 7673k 0 0:00:31 0:00:15 0:00:16 9222k 52 238M 52 126M 0 0 7888k 0 0:00:31 0:00:16 0:00:15 9843k 57 238M 57 137M 0 0 8090k 0 0:00:30 0:00:17 0:00:13 10.1M 62 238M 62 148M 0 0 8271k 0 0:00:29 0:00:18 0:00:11 10.6M 66 238M 66 159M 0 0 8404k 0 0:00:29 0:00:19 0:00:10 10.8M 70 238M 70 169M 0 0 8509k 0 0:00:28 0:00:20 0:00:08 10.8M 75 238M 75 180M 0 0 8643k 0 0:00:28 0:00:21 0:00:07 10.8M 80 238M 80 191M 0 0 8767k 0 0:00:27 0:00:22 0:00:05 10.8M 84 238M 84 202M 0 0 8842k 0 0:00:27 0:00:23 0:00:04 10.6M 88 238M 88 212M 0 0 8901k 0 0:00:27 0:00:24 0:00:03 10.5M 93 238M 93 222M 0 0 8972k 0 0:00:27 0:00:25 0:00:02 10.6M 97 238M 97 233M 0 0 9055k 0 0:00:27 0:00:26 0:00:01 10.5M 100 238M 100 238M 0 0 9099k 0 0:00:26 0:00:26 --:--:-- 10.5M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 1266k 0 --:--:-- --:--:-- --:--:-- 1272k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=52f6a7dcb25b04beb6ee405c40eb6565116affa5, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.24.3 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[2/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[3/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[4/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[6/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[7/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[17/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[18/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[19/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[20/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[22/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[23/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[24/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[25/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[26/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[27/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[28/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[33/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[35/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[39/93] Linking C shared library libz.so.1.3.0.zlib-ng +[40/93] Creating library symlink libz.so.1 libz.so +[41/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[42/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[43/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[74/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[75/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[76/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[77/93] Building C object test/CMakeFiles/example.dir/example.c.o +[78/93] Linking C executable switchlevels +[79/93] Linking C executable minideflate +[80/93] Linking C executable example +[81/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[82/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Linking C static library libz.a +[85/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[86/93] Linking C executable infcover +[87/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[88/93] Linking C executable makefixed +[89/93] Linking C executable minigzip +[90/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[91/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[92/93] Linking C executable makecrct +[93/93] Linking C executable maketrees ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 05:33:25 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 05:33:25 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 05:33:26 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp86ya98b2 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp86ya98b2 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:33:38 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:33:38 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp86ya98b2 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp86ya98b2 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:33:40 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp86ya98b2 +Wed Apr 10 05:33:40 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 05:33:40 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_12_30.log b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_12_30.log new file mode 100644 index 00000000..e06821c1 --- /dev/null +++ b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_12_30.log @@ -0,0 +1,911 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:12:30 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpeqdhgdvo ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpeqdhgdvo ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpeqdhgdvo ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpeqdhgdvo +Wed Apr 10 06:12:44 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpeqdhgdvo ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpeqdhgdvo ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpeqdhgdvo +Wed Apr 10 06:12:44 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpeqdhgdvo ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 23.7M 3 815k 0 0 790k 0 0:00:30 0:00:01 0:00:29 790k 8 23.7M 8 1967k 0 0 968k 0 0:00:25 0:00:02 0:00:23 968k 15 23.7M 15 3647k 0 0 1203k 0 0:00:20 0:00:03 0:00:17 1203k 23 23.7M 23 5599k 0 0 1389k 0 0:00:17 0:00:04 0:00:13 1390k 33 23.7M 33 8079k 0 0 1606k 0 0:00:15 0:00:05 0:00:10 1625k 45 23.7M 45 10.6M 0 0 1815k 0 0:00:13 0:00:06 0:00:07 2026k 52 23.7M 52 12.5M 0 0 1824k 0 0:00:13 0:00:07 0:00:06 2172k 57 23.7M 57 13.7M 0 0 1747k 0 0:00:13 0:00:08 0:00:05 2076k 64 23.7M 64 15.2M 0 0 1727k 0 0:00:14 0:00:09 0:00:05 1999k 70 23.7M 70 16.7M 0 0 1708k 0 0:00:14 0:00:10 0:00:04 1811k 76 23.7M 76 18.2M 0 0 1692k 0 0:00:14 0:00:11 0:00:03 1545k 83 23.7M 83 19.7M 0 0 1678k 0 0:00:14 0:00:12 0:00:02 1472k 88 23.7M 88 20.9M 0 0 1642k 0 0:00:14 0:00:13 0:00:01 1474k 93 23.7M 93 22.2M 0 0 1621k 0 0:00:14 0:00:14 --:--:-- 1429k 99 23.7M 99 23.6M 0 0 1609k 0 0:00:15 0:00:15 --:--:-- 1410k 100 23.7M 100 23.7M 0 0 1610k 0 0:00:15 0:00:15 --:--:-- 1388k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:12:59 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:12:59 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting +objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting +objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting +objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting +objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting +objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting +objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting +objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting +objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting +objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct +gnu-upstream +llvm-upstream +gnu-plct-rv64ilp32-elf +gnu-plct-xthead' ++ for p in $pkgnames +++ ruyi list +++ grep -e '^ -' +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct/ {if (f==0) f=1}' +++ grep -v 'no binary for current host' ++ s=' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ++ '[' '!' -z ' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ']' ++ pkgname=gnu-plct ++ break ++ '[' -z gnu-plct ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct- +linux-gnu.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ grep 'Basic connectivity problems' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct- +linux-gnu.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17 +125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 671 100 671 0 0 4977 0 --:--:-- --:--:-- --:--:-- 5007 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpeqdhgdvo ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpeqdhgdvo +Wed Apr 10 06:17:36 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z /tmp/tmpeqdhgdvo ']' ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpeqdhgdvo ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpeqdhgdvo +Wed Apr 10 06:17:36 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpeqdhgdvo ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpeqdhgdvo ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpeqdhgdvo +Wed Apr 10 06:17:36 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpeqdhgdvo ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 23.7M 0 15928 0 0 78021 0 0:05:19 --:--:-- 0:05:19 78078 37 23.7M 37 9237k 0 0 7694k 0 0:00:03 0:00:01 0:00:02 7697k 72 23.7M 72 17.3M 0 0 8058k 0 0:00:03 0:00:02 0:00:01 8060k 100 23.7M 100 23.7M 0 0 8242k 0 0:00:02 0:00:02 --:--:-- 8243k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:17:41 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:17:41 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:17:41 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpeqdhgdvo ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeqdhgdvo ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeqdhgdvo +Wed Apr 10 06:17:48 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeqdhgdvo +Wed Apr 10 06:17:49 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:17:49 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-06_22_28.log b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-06_22_28.log new file mode 100644 index 00000000..b5ea75e0 --- /dev/null +++ b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-06_22_28.log @@ -0,0 +1,246 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:22:29 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpg26f5__g ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpg26f5__g ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpg26f5__g ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpg26f5__g +Wed Apr 10 06:22:42 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpg26f5__g ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpg26f5__g ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpg26f5__g +Wed Apr 10 06:22:43 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpg26f5__g ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 23.7M 3 771k 0 0 1081k 0 0:00:22 --:--:-- 0:00:22 1082k 11 23.7M 11 2739k 0 0 1593k 0 0:00:15 0:00:01 0:00:14 1593k 22 23.7M 22 5571k 0 0 2051k 0 0:00:11 0:00:02 0:00:09 2051k 35 23.7M 35 8595k 0 0 2314k 0 0:00:10 0:00:03 0:00:07 2314k 48 23.7M 48 11.5M 0 0 2512k 0 0:00:09 0:00:04 0:00:05 2513k 62 23.7M 62 14.7M 0 0 2647k 0 0:00:09 0:00:05 0:00:04 2870k 75 23.7M 75 17.8M 0 0 2722k 0 0:00:08 0:00:06 0:00:02 3109k 90 23.7M 90 21.4M 0 0 2850k 0 0:00:08 0:00:07 0:00:01 3284k 100 23.7M 100 23.7M 0 0 2945k 0 0:00:08 0:00:08 --:--:-- 3461k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:22:51 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:22:51 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:23:07 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:23:07 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:23:07 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpg26f5__g ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpg26f5__g ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpg26f5__g +Wed Apr 10 06:23:13 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpg26f5__g +Wed Apr 10 06:23:13 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:23:14 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_55_51.log b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_55_51.log new file mode 100644 index 00000000..3909adcb --- /dev/null +++ b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_55_51.log @@ -0,0 +1,2757 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 05:55:51 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp3mxm_5h3 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp3mxm_5h3 ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp3mxm_5h3 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp3mxm_5h3 +Wed Apr 10 05:56:14 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp3mxm_5h3 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp3mxm_5h3 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp3mxm_5h3 +Wed Apr 10 05:56:15 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp3mxm_5h3 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 17 23.7M 17 4266k 0 0 5616k 0 0:00:04 --:--:-- 0:00:04 5621k 63 23.7M 63 14.9M 0 0 8707k 0 0:00:02 0:00:01 0:00:01 8710k 100 23.7M 100 23.7M 0 0 9548k 0 0:00:02 0:00:02 --:--:-- 9551k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 05:56:17 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 05:56:17 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: +7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting +objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting +objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% +(94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: +34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 6965 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 3160k 11.8M 21.6M 31.7M 42.1M 53.0M 64.0M 74.8M 84.7M 95.7M 106M 118M 129M 140M 150M 161M 172M 183M 194M 204M 215M 226M 237M 248M 258M 269M 280M 288M 295M 303M 312M 321M 331M 342M 353M 365M 376M 386M 397M 402M for ' +++ echo Received Spent 0 3160k 11.8M 21.6M 31.7M 42.1M 53.0M 64.0M 74.8M 84.7M 95.7M 106M 118M 129M 140M 150M 161M 172M 183M 194M 204M 215M 226M 237M 248M 258M 269M 280M 288M 295M 303M 312M 321M 331M 342M 353M 365M 376M 386M 397M 402M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3160k =~ [0-9]+ ]] ++ [[ 3160k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7168 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 514k 8610k 18.9M 30.0M 40.4M 50.4M 61.0M 70.1M 78.8M 88.5M 99.0M 109M 117M 126M 135M 145M 153M 162M 172M 182M 193M 203M 214M 225M 230M 237M 245M 253M 262M 274M 284M 293M 301M 309M 318M 334M 344M 354M 359M 365M 373M 380M 398M 407M 412M 418M ' +++ echo Received Spent 0 514k 8610k 18.9M 30.0M 40.4M 50.4M 61.0M 70.1M 78.8M 88.5M 99.0M 109M 117M 126M 135M 145M 153M 162M 172M 182M 193M 203M 214M 225M 230M 237M 245M 253M 262M 274M 284M 293M 301M 309M 318M 334M 344M 354M 359M 365M 373M 380M 398M 407M 412M 418M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 514k =~ [0-9]+ ]] ++ [[ 514k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 6963 Done nohup echo -e "$now_exec" + 6964 Exit 120 | ruyi device provision 2>&1 + 6965 Killed | tee > /tmp/ruyi_device/output ++ kill -9 7353 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 383k 9887k 20.3M 30.8M 41.4M 52.0M 62.7M 73.4M 84.2M 94.6M 105M 115M 125M 135M 146M 156M 167M 176M 187M 198M 208M 209M for ' +++ echo Received Spent 0 383k 9887k 20.3M 30.8M 41.4M 52.0M 62.7M 73.4M 84.2M 94.6M 105M 115M 125M 135M 146M 156M 167M 176M 187M 198M 208M 209M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 383k =~ [0-9]+ ]] ++ [[ 383k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ tee ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 7351 Done nohup echo -e "$now_exec" + 7352 Exit 120 | ruyi device provision 2>&1 + 7353 Killed | tee > /tmp/ruyi_device/output ++ kill -9 7485 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 4079k 14.6M 25.6M 36.4M 48.2M 56.1M 63.9M 71.8M 79.7M 86.0M 90.8M 93.9M 95.5M 97.1M 101M 112M 123M 134M 145M 156M 167M 178M 189M 194M for ' +++ echo Received Spent 0 4079k 14.6M 25.6M 36.4M 48.2M 56.1M 63.9M 71.8M 79.7M 86.0M 90.8M 93.9M 95.5M 97.1M 101M 112M 123M 134M 145M 156M 167M 178M 189M 194M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 4079k =~ [0-9]+ ]] ++ [[ 4079k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 +./common/device_lib.sh: line 37: 7483 Done nohup echo -e "$now_exec" + 7484 Exit 120 | ruyi device provision 2>&1 + 7485 Killed | tee > /tmp/ruyi_device/output ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 7166 Done nohup echo -e "$now_exec" + 7167 Exit 120 | ruyi device provision 2>&1 + 7168 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7631 +./common/device_lib.sh: line 49: kill: (7631) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 31533 340k 3044k 8148k 11.9M 16.1M 19.2M 21.0M 22.7M 25.4M 29.4M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 31533 340k 3044k 8148k 11.9M 16.1M 19.2M 21.0M 22.7M 25.4M 29.4M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 31533 =~ [0-9]+ ]] ++ [[ 31533 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7736 +./common/device_lib.sh: line 49: kill: (7736) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 183k 5724k 6716k 10.6M 14.7M 18.4M 22.5M 25.8M 27.5M 29.2M 33.4M 38.3M 40.6M 42.5M 49.0M 51.9M 53.5M 59.0M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 183k 5724k 6716k 10.6M 14.7M 18.4M 22.5M 25.8M 27.5M 29.2M 33.4M 38.3M 40.6M 42.5M 49.0M 51.9M 53.5M 59.0M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 183k =~ [0-9]+ ]] ++ [[ 183k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7867 +./common/device_lib.sh: line 49: kill: (7867) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 38949 1211k 2683k 7052k 8299k 9.7M 12.4M 15.4M 19.0M 22.6M 26.0M 28.4M 29.8M 30.4M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 38949 1211k 2683k 7052k 8299k 9.7M 12.4M 15.4M 19.0M 22.6M 26.0M 28.4M 29.8M 30.4M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 38949 =~ [0-9]+ ]] ++ [[ 38949 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 7977 +./common/device_lib.sh: line 49: kill: (7977) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 16375 159k 911k 2127k 2271k 4975k 9472k 12.2M 16.0M 19.5M 23.0M 28.4M 31.0M 36.0M 40.1M 44.6M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 16375 159k 911k 2127k 2271k 4975k 9472k 12.2M 16.0M 19.5M 23.0M 28.4M 31.0M 36.0M 40.1M 44.6M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 16375 =~ [0-9]+ ]] ++ [[ 16375 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 8163 +./common/device_lib.sh: line 49: kill: (8163) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 2216 33439 147k 979k 4259k 8259k 9987k 12.8M 16.9M 21.1M 26.3M 29.1M 31.0M 32.4M 34.2M 35.9M 37.9M 40.0M 43.4M 46.4M 49.0M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 2216 33439 147k 979k 4259k 8259k 9987k 12.8M 16.9M 21.1M 26.3M 29.1M 31.0M 32.4M 34.2M 35.9M 37.9M 40.0M 43.4M 46.4M 49.0M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2216 =~ [0-9]+ ]] ++ [[ 2216 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ awk '{print $4}' +++ echo Happy 'hacking!' 0 0 ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-06:10:58.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:10:58 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:10:58 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:10:58 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp3mxm_5h3 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp3mxm_5h3 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp3mxm_5h3 +Wed Apr 10 06:11:20 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp3mxm_5h3 +Wed Apr 10 06:11:20 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:11:20 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-06_10_58.tar.gz b/20240408/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-06_10_58.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f13bab7750f6ebe581abceb8471a54dfab7e1bda GIT binary patch literal 7859 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 YoZ# /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fbd267000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbd119000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbd355000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31de725bef0a8f53eba36769a7be37eb620f7a2b, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x0000003fcadce000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fcacdd000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fcab8f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fcadd0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=6818370a530b64acc240e73fe321d99cad94a723, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x0000003fbaf23000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fbad96000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbac48000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbaf25000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x0000003ff2f0f000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff2daf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff2f11000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7dcd2e59d53f6d4df6af7b3e89b2cfe8ca36b34e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003fc8754000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fc8661000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fc8513000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc8756000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c6b55f7b647f4be0abdddcd7c409dc955bfb739e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x0000003feed59000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003feebf9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003feed5b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=0b8b290ca6f508e50e2ee64996305cc443ac5b9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003fd5606000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd549e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd5608000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x0000003fc6fca000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fc6e6a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc6fcc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x0000003fbdc02000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbdaa2000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbdc04000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x0000003fec9d3000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fec873000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fec9d5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3fb51f60d57bc734aad41355e1322a1f69065a08, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003fd7660000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd7500000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd7662000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=aa885dc4f52b6e5a2dc3ff98ff89813779396b51, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003ff0089000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003feff29000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff008b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=abe52db7cdccf81e5cfd6f19181c4774e518cfbf, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003fd36af000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd354f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd36b1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f4c79502e3260a437a576e9d0e8ff928caf63a22, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fbc816000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbc6b6000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbc818000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=250949fdcaea85ea941660452bee5c21163be16d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003ff4b9b000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff4a3b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff4b9d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=bdbc9147210bd108886a761a21f60e7c95dc50fe, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003fec191000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fec031000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fec193000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=11def813f48d99dd78f2eed8d17c73351bf9a388, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x0000003fbf8c3000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fbefb1000) + libstdc++.so.6 => /lib/riscv64-linux-gnu/libstdc++.so.6 (0x0000003fbeda4000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x0000003fbed37000) + libgcc_s.so.1 => /lib/riscv64-linux-gnu/libgcc_s.so.1 (0x0000003fbed1d000) + libpthread.so.0 => /lib/riscv64-linux-gnu/libpthread.so.0 (0x0000003fbed1a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbebcc000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbf8c5000) + libatomic.so.1 => /lib/riscv64-linux-gnu/libatomic.so.1 (0x0000003fbebc2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31a93e40023c23a993b5e737137c15f485083b1f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003fd6353000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd61f3000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd6355000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep .so ++ grep 'not found' ++ grep -vE '\(0x' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=14684908d7a6f26b4fe822ccc2c8a1671837bf89, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x0000003ff6f90000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003ff6de9000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff6c9b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff6f92000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep executable ++ grep dynamic ++ grep ELF +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x0000003fd91aa000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fd8ec5000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd8d77000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd91ac000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003fb9db0000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fb9acb000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fb997d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb9db2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f56289121545e9eb29e087f10379becc076ad124, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003fe4c27000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fe4c12000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x0000003fe4ba5000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe4a57000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe4c29000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c1118173c3261176ae28b908f20c4041c87f3ab9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x0000003ff1d7d000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003ff1c8e000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff1b40000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff1d7f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=71097d0a87f2b1884d767d8642b4ad6efef42cb7, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003ff0fae000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003ff0ea8000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff0d5a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff0fb0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=be6ba9a387e69d9794c5ffe7787406e472079843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x0000003fea9a9000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fea7ec000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fea69e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fea9ab000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=10be3c866f93235555c6a0c7224be62154ba798a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003ff4990000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003ff489f000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff4751000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff4992000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5043d4e49f9753ae93a7066487ac2033dbf381e3, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x0000003fd8564000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd832c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd8566000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8fe5d0c1d00aa3df97c5cff89f80764eba1e3bf1, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x0000003fdc38c000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fdc2a0000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fdc152000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fdc38e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=38962ec5375f6fee8f010906f654b502273effd8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x0000003fe8cd7000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fe8bea000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe8a9c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe8cd9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8601474e5e55cf97a2e4bd5b6ad6e7d631e19ee5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x0000003fbcedb000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fbcdd5000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbcc87000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbcedd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for +host linux/riscv64' ++ retc=2 +++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check toolchain/llvm-upstream no binary for current host' ++ message='Check toolchain/llvm-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check toolchain/llvm-upstream no binary for current host' +Wed Apr 10 04:39:32 2024 - WARN - Check toolchain/llvm-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 42.8M 0 301k 0 0 560k 0 0:01:18 --:--:-- 0:01:18 559k 7 42.8M 7 3405k 0 0 2226k 0 0:00:19 0:00:01 0:00:18 2225k 14 42.8M 14 6333k 0 0 2509k 0 0:00:17 0:00:02 0:00:15 2509k 22 42.8M 22 9.7M 0 0 2842k 0 0:00:15 0:00:03 0:00:12 2842k 32 42.8M 32 13.9M 0 0 3158k 0 0:00:13 0:00:04 0:00:09 3158k 41 42.8M 41 17.6M 0 0 3272k 0 0:00:13 0:00:05 0:00:08 3564k 45 42.8M 45 19.2M 0 0 3029k 0 0:00:14 0:00:06 0:00:08 3274k 49 42.8M 49 21.3M 0 0 2907k 0 0:00:15 0:00:07 0:00:08 3107k 52 42.8M 52 22.5M 0 0 2702k 0 0:00:16 0:00:08 0:00:08 2604k 54 42.8M 54 23.4M 0 0 2525k 0 0:00:17 0:00:09 0:00:08 1953k 58 42.8M 58 25.0M 0 0 2440k 0 0:00:17 0:00:10 0:00:07 1520k 63 42.8M 63 27.1M 0 0 2411k 0 0:00:18 0:00:11 0:00:07 1605k 69 42.8M 69 29.6M 0 0 2424k 0 0:00:18 0:00:12 0:00:06 1699k 76 42.8M 76 32.7M 0 0 2483k 0 0:00:17 0:00:13 0:00:04 2108k 83 42.8M 83 35.7M 0 0 2522k 0 0:00:17 0:00:14 0:00:03 2516k 90 42.8M 90 38.9M 0 0 2568k 0 0:00:17 0:00:15 0:00:02 2836k 97 42.8M 97 41.6M 0 0 2582k 0 0:00:16 0:00:16 --:--:-- 2976k 100 42.8M 100 42.8M 0 0 2591k 0 0:00:16 0:00:16 --:--:-- 3066k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 42.8M 0 301k 0 0 560k 0 0:01:18 --:--:-- 0:01:18 $'559k\r' 7 42.8M 7 3405k 0 0 2226k 0 0:00:19 0:00:01 0:00:18 $'2225k\r' 14 42.8M 14 6333k 0 0 2509k 0 0:00:17 0:00:02 0:00:15 $'2509k\r' 22 42.8M 22 9.7M 0 0 2842k 0 0:00:15 0:00:03 0:00:12 $'2842k\r' 32 42.8M 32 13.9M 0 0 3158k 0 0:00:13 0:00:04 0:00:09 $'3158k\r' 41 42.8M 41 17.6M 0 0 3272k 0 0:00:13 0:00:05 0:00:08 $'3564k\r' 45 42.8M 45 19.2M 0 0 3029k 0 0:00:14 0:00:06 0:00:08 $'3274k\r' 49 42.8M 49 21.3M 0 0 2907k 0 0:00:15 0:00:07 0:00:08 $'3107k\r' 52 42.8M 52 22.5M 0 0 2702k 0 0:00:16 0:00:08 0:00:08 $'2604k\r' 54 42.8M 54 23.4M 0 0 2525k 0 0:00:17 0:00:09 0:00:08 $'1953k\r' 58 42.8M 58 25.0M 0 0 2440k 0 0:00:17 0:00:10 0:00:07 $'1520k\r' 63 42.8M 63 27.1M 0 0 2411k 0 0:00:18 0:00:11 0:00:07 $'1605k\r' 69 42.8M 69 29.6M 0 0 2424k 0 0:00:18 0:00:12 0:00:06 $'1699k\r' 76 42.8M 76 32.7M 0 0 2483k 0 0:00:17 0:00:13 0:00:04 $'2108k\r' 83 42.8M 83 35.7M 0 0 2522k 0 0:00:17 0:00:14 0:00:03 $'2516k\r' 90 42.8M 90 38.9M 0 0 2568k 0 0:00:17 0:00:15 0:00:02 $'2836k\r' 97 42.8M 97 41.6M 0 0 2582k 0 0:00:16 0:00:16 --:--:-- $'2976k\r100' 42.8M 100 42.8M 0 0 2591k 0 0:00:16 0:00:16 --:--:-- 3066k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 +++ awk '{print $NF}' ++ bp=23.0-ruyi.20240224 ++ bpb=23.0-ruyi.20240224/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 42.8M 0 301k 0 0 560k 0 0:01:18 --:--:-- 0:01:18 $'559k\r' 7 42.8M 7 3405k 0 0 2226k 0 0:00:19 0:00:01 0:00:18 $'2225k\r' 14 42.8M 14 6333k 0 0 2509k 0 0:00:17 0:00:02 0:00:15 $'2509k\r' 22 42.8M 22 9.7M 0 0 2842k 0 0:00:15 0:00:03 0:00:12 $'2842k\r' 32 42.8M 32 13.9M 0 0 3158k 0 0:00:13 0:00:04 0:00:09 $'3158k\r' 41 42.8M 41 17.6M 0 0 3272k 0 0:00:13 0:00:05 0:00:08 $'3564k\r' 45 42.8M 45 19.2M 0 0 3029k 0 0:00:14 0:00:06 0:00:08 $'3274k\r' 49 42.8M 49 21.3M 0 0 2907k 0 0:00:15 0:00:07 0:00:08 $'3107k\r' 52 42.8M 52 22.5M 0 0 2702k 0 0:00:16 0:00:08 0:00:08 $'2604k\r' 54 42.8M 54 23.4M 0 0 2525k 0 0:00:17 0:00:09 0:00:08 $'1953k\r' 58 42.8M 58 25.0M 0 0 2440k 0 0:00:17 0:00:10 0:00:07 $'1520k\r' 63 42.8M 63 27.1M 0 0 2411k 0 0:00:18 0:00:11 0:00:07 $'1605k\r' 69 42.8M 69 29.6M 0 0 2424k 0 0:00:18 0:00:12 0:00:06 $'1699k\r' 76 42.8M 76 32.7M 0 0 2483k 0 0:00:17 0:00:13 0:00:04 $'2108k\r' 83 42.8M 83 35.7M 0 0 2522k 0 0:00:17 0:00:14 0:00:03 $'2516k\r' 90 42.8M 90 38.9M 0 0 2568k 0 0:00:17 0:00:15 0:00:02 $'2836k\r' 97 42.8M 97 41.6M 0 0 2582k 0 0:00:16 0:00:16 --:--:-- $'2976k\r100' 42.8M 100 42.8M 0 0 2591k 0 0:00:16 0:00:16 --:--:-- 3066k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 23.0-ruyi.20240224 ']' ++ '[' '!' -d 23.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 224M 0 1098k 0 0 1133k 0 0:03:22 --:--:-- 0:03:22 1132k 1 224M 1 3386k 0 0 1721k 0 0:02:13 0:00:01 0:02:12 1721k 2 224M 2 5434k 0 0 1820k 0 0:02:06 0:00:02 0:02:04 1820k 3 224M 3 7754k 0 0 1954k 0 0:01:57 0:00:03 0:01:54 1954k 4 224M 4 10.2M 0 0 2122k 0 0:01:48 0:00:04 0:01:44 2122k 6 224M 6 13.6M 0 0 2348k 0 0:01:37 0:00:05 0:01:32 2584k 7 224M 7 17.5M 0 0 2581k 0 0:01:29 0:00:06 0:01:23 2919k 9 224M 9 22.2M 0 0 2865k 0 0:01:20 0:00:07 0:01:13 3491k 12 224M 12 27.2M 0 0 3110k 0 0:01:13 0:00:08 0:01:05 4027k 13 224M 13 31.3M 0 0 3217k 0 0:01:11 0:00:09 0:01:02 4304k 15 224M 15 35.0M 0 0 3274k 0 0:01:10 0:00:10 0:01:00 4377k 17 224M 17 38.2M 0 0 3275k 0 0:01:10 0:00:11 0:00:59 4242k 17 224M 17 39.2M 0 0 3089k 0 0:01:14 0:00:12 0:01:02 3443k 17 224M 17 39.5M 0 0 2898k 0 0:01:19 0:00:13 0:01:06 2517k 17 224M 17 39.8M 0 0 2722k 0 0:01:24 0:00:14 0:01:10 1742k 17 224M 17 40.1M 0 0 2574k 0 0:01:29 0:00:15 0:01:14 1041k 18 224M 18 40.4M 0 0 2441k 0 0:01:34 0:00:16 0:01:18 447k 18 224M 18 40.7M 0 0 2313k 0 0:01:39 0:00:18 0:01:21 308k 18 224M 18 41.0M 0 0 2214k 0 0:01:43 0:00:18 0:01:25 312k 18 224M 18 41.3M 0 0 2117k 0 0:01:48 0:00:19 0:01:29 295k 18 224M 18 41.5M 0 0 2029k 0 0:01:53 0:00:20 0:01:33 288k 18 224M 18 41.8M 0 0 1947k 0 0:01:57 0:00:21 0:01:36 274k 18 224M 18 41.9M 0 0 1870k 0 0:02:02 0:00:22 0:01:40 261k 18 224M 18 42.1M 0 0 1798k 0 0:02:07 0:00:23 0:01:44 217k 18 224M 18 42.3M 0 0 1737k 0 0:02:12 0:00:24 0:01:48 218k 19 224M 19 43.2M 0 0 1705k 0 0:02:14 0:00:25 0:01:49 348k 20 224M 20 45.0M 0 0 1708k 0 0:02:14 0:00:27 0:01:47 664k 20 224M 20 46.7M 0 0 1711k 0 0:02:14 0:00:27 0:01:47 974k 21 224M 21 48.7M 0 0 1724k 0 0:02:13 0:00:28 0:01:45 1366k 22 224M 22 49.9M 0 0 1708k 0 0:02:14 0:00:29 0:01:45 1561k 22 224M 22 50.5M 0 0 1669k 0 0:02:17 0:00:30 0:01:47 1481k 23 224M 23 51.6M 0 0 1654k 0 0:02:18 0:00:31 0:01:47 1359k 23 224M 23 53.3M 0 0 1658k 0 0:02:18 0:00:32 0:01:46 1363k 24 224M 24 55.6M 0 0 1678k 0 0:02:16 0:00:33 0:01:43 1414k 26 224M 26 58.4M 0 0 1710k 0 0:02:14 0:00:34 0:01:40 1725k 26 224M 26 60.2M 0 0 1714k 0 0:02:14 0:00:35 0:01:39 1991k 27 224M 27 61.6M 0 0 1706k 0 0:02:14 0:00:36 0:01:38 2040k 28 224M 28 63.6M 0 0 1715k 0 0:02:13 0:00:37 0:01:36 2096k 29 224M 29 65.7M 0 0 1728k 0 0:02:12 0:00:38 0:01:34 2067k 29 224M 29 66.8M 0 0 1713k 0 0:02:14 0:00:39 0:01:35 1734k 29 224M 29 67.3M 0 0 1681k 0 0:02:16 0:00:40 0:01:36 1444k 30 224M 30 67.3M 0 0 1643k 0 0:02:19 0:00:41 0:01:38 1175k 30 224M 30 67.4M 0 0 1600k 0 0:02:23 0:00:43 0:01:40 755k 30 224M 30 67.6M 0 0 1573k 0 0:02:26 0:00:44 0:01:42 371k 30 224M 30 67.8M 0 0 1542k 0 0:02:29 0:00:45 0:01:44 186k 30 224M 30 68.1M 0 0 1516k 0 0:02:31 0:00:45 0:01:46 163k 30 224M 30 68.3M 0 0 1490k 0 0:02:34 0:00:46 0:01:48 204k 30 224M 30 68.6M 0 0 1464k 0 0:02:36 0:00:47 0:01:49 246k 30 224M 30 68.9M 0 0 1441k 0 0:02:39 0:00:48 0:01:51 278k 30 224M 30 69.2M 0 0 1419k 0 0:02:41 0:00:49 0:01:52 307k 30 224M 30 69.4M 0 0 1393k 0 0:02:44 0:00:51 0:01:53 274k 31 224M 31 69.6M 0 0 1371k 0 0:02:47 0:00:51 0:01:56 250k 31 224M 31 69.8M 0 0 1349k 0 0:02:50 0:00:52 0:01:58 245k 31 224M 31 70.0M 0 0 1328k 0 0:02:53 0:00:53 0:02:00 214k 31 224M 31 70.1M 0 0 1307k 0 0:02:55 0:00:54 0:02:01 182k 31 224M 31 70.4M 0 0 1287k 0 0:02:58 0:00:55 0:02:03 194k 31 224M 31 71.0M 0 0 1276k 0 0:03:00 0:00:56 0:02:04 287k 32 224M 32 71.8M 0 0 1269k 0 0:03:00 0:00:57 0:02:03 426k 32 224M 32 72.9M 0 0 1265k 0 0:03:01 0:00:58 0:02:03 593k 33 224M 33 74.6M 0 0 1275k 0 0:03:00 0:00:59 0:02:01 921k 34 224M 34 77.0M 0 0 1293k 0 0:02:57 0:01:00 0:01:57 1362k 35 224M 35 79.9M 0 0 1320k 0 0:02:54 0:01:01 0:01:53 1825k 36 224M 36 82.9M 0 0 1348k 0 0:02:50 0:01:02 0:01:48 2263k 38 224M 38 86.1M 0 0 1379k 0 0:02:46 0:01:03 0:01:43 2723k 39 224M 39 89.1M 0 0 1405k 0 0:02:43 0:01:04 0:01:39 2960k 40 224M 40 91.8M 0 0 1425k 0 0:02:41 0:01:05 0:01:36 3036k 41 224M 41 94.2M 0 0 1440k 0 0:02:39 0:01:06 0:01:33 2931k 42 224M 42 96.3M 0 0 1452k 0 0:02:38 0:01:07 0:01:31 2759k 43 224M 43 98.5M 0 0 1463k 0 0:02:37 0:01:08 0:01:29 2533k 45 224M 45 101M 0 0 1479k 0 0:02:35 0:01:09 0:01:26 2455k 45 224M 45 102M 0 0 1477k 0 0:02:35 0:01:10 0:01:25 2155k 45 224M 45 102M 0 0 1463k 0 0:02:36 0:01:11 0:01:25 1768k 46 224M 46 103M 0 0 1449k 0 0:02:38 0:01:12 0:01:26 1417k 46 224M 46 103M 0 0 1435k 0 0:02:40 0:01:13 0:01:27 1057k 46 224M 46 104M 0 0 1428k 0 0:02:40 0:01:14 0:01:26 707k 47 224M 47 106M 0 0 1431k 0 0:02:40 0:01:15 0:01:25 780k 48 224M 48 108M 0 0 1445k 0 0:02:38 0:01:16 0:01:22 1180k 49 224M 49 111M 0 0 1464k 0 0:02:36 0:01:17 0:01:19 1682k 51 224M 51 114M 0 0 1490k 0 0:02:34 0:01:18 0:01:16 2295k 52 224M 52 118M 0 0 1522k 0 0:02:30 0:01:19 0:01:11 2937k 54 224M 54 122M 0 0 1552k 0 0:02:28 0:01:20 0:01:08 3388k 56 224M 56 126M 0 0 1584k 0 0:02:25 0:01:21 0:01:04 3724k 58 224M 58 131M 0 0 1619k 0 0:02:21 0:01:22 0:00:59 4036k 60 224M 60 135M 0 0 1652k 0 0:02:19 0:01:23 0:00:56 4211k 62 224M 62 139M 0 0 1686k 0 0:02:16 0:01:24 0:00:52 4300k 64 224M 64 144M 0 0 1723k 0 0:02:13 0:01:25 0:00:48 4489k 66 224M 66 149M 0 0 1754k 0 0:02:10 0:01:26 0:00:44 4549k 68 224M 68 152M 0 0 1779k 0 0:02:09 0:01:27 0:00:42 4428k 69 224M 69 156M 0 0 1803k 0 0:02:07 0:01:28 0:00:39 4348k 71 224M 71 161M 0 0 1833k 0 0:02:05 0:01:29 0:00:36 4329k 73 224M 73 164M 0 0 1851k 0 0:02:04 0:01:30 0:00:34 4064k 74 224M 74 167M 0 0 1865k 0 0:02:03 0:01:31 0:00:32 3794k 76 224M 76 170M 0 0 1879k 0 0:02:02 0:01:32 0:00:30 3644k 77 224M 77 173M 0 0 1894k 0 0:02:01 0:01:33 0:00:28 3513k 78 224M 78 177M 0 0 1911k 0 0:02:00 0:01:34 0:00:26 3321k 80 224M 80 181M 0 0 1936k 0 0:01:58 0:01:35 0:00:23 3475k 82 224M 82 186M 0 0 1965k 0 0:01:56 0:01:36 0:00:20 3791k 85 224M 85 191M 0 0 1999k 0 0:01:54 0:01:37 0:00:17 4230k 87 224M 87 196M 0 0 2036k 0 0:01:52 0:01:38 0:00:14 4691k 90 224M 90 203M 0 0 2080k 0 0:01:50 0:01:39 0:00:11 5283k 93 224M 93 209M 0 0 2127k 0 0:01:48 0:01:40 0:00:08 5790k 96 224M 96 215M 0 0 2167k 0 0:01:46 0:01:41 0:00:05 6089k 99 224M 99 222M 0 0 2214k 0 0:01:43 0:01:42 0:00:01 6422k 100 224M 100 224M 0 0 2226k 0 0:01:43 0:01:43 --:--:-- 6679k +info: extracting +RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g +nu.tar.xz for package gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 224M 0 1098k 0 0 1133k 0 0:03:22 --:--:-- 0:03:22 $'1132k\r' 1 224M 1 3386k 0 0 1721k 0 0:02:13 0:00:01 0:02:12 $'1721k\r' 2 224M 2 5434k 0 0 1820k 0 0:02:06 0:00:02 0:02:04 $'1820k\r' 3 224M 3 7754k 0 0 1954k 0 0:01:57 0:00:03 0:01:54 $'1954k\r' 4 224M 4 10.2M 0 0 2122k 0 0:01:48 0:00:04 0:01:44 $'2122k\r' 6 224M 6 13.6M 0 0 2348k 0 0:01:37 0:00:05 0:01:32 $'2584k\r' 7 224M 7 17.5M 0 0 2581k 0 0:01:29 0:00:06 0:01:23 $'2919k\r' 9 224M 9 22.2M 0 0 2865k 0 0:01:20 0:00:07 0:01:13 $'3491k\r' 12 224M 12 27.2M 0 0 3110k 0 0:01:13 0:00:08 0:01:05 $'4027k\r' 13 224M 13 31.3M 0 0 3217k 0 0:01:11 0:00:09 0:01:02 $'4304k\r' 15 224M 15 35.0M 0 0 3274k 0 0:01:10 0:00:10 0:01:00 $'4377k\r' 17 224M 17 38.2M 0 0 3275k 0 0:01:10 0:00:11 0:00:59 $'4242k\r' 17 224M 17 39.2M 0 0 3089k 0 0:01:14 0:00:12 0:01:02 $'3443k\r' 17 224M 17 39.5M 0 0 2898k 0 0:01:19 0:00:13 0:01:06 $'2517k\r' 17 224M 17 39.8M 0 0 2722k 0 0:01:24 0:00:14 0:01:10 $'1742k\r' 17 224M 17 40.1M 0 0 2574k 0 0:01:29 0:00:15 0:01:14 $'1041k\r' 18 224M 18 40.4M 0 0 2441k 0 0:01:34 0:00:16 0:01:18 $'447k\r' 18 224M 18 40.7M 0 0 2313k 0 0:01:39 0:00:18 0:01:21 $'308k\r' 18 224M 18 41.0M 0 0 2214k 0 0:01:43 0:00:18 0:01:25 $'312k\r' 18 224M 18 41.3M 0 0 2117k 0 0:01:48 0:00:19 0:01:29 $'295k\r' 18 224M 18 41.5M 0 0 2029k 0 0:01:53 0:00:20 0:01:33 $'288k\r' 18 224M 18 41.8M 0 0 1947k 0 0:01:57 0:00:21 0:01:36 $'274k\r' 18 224M 18 41.9M 0 0 1870k 0 0:02:02 0:00:22 0:01:40 $'261k\r' 18 224M 18 42.1M 0 0 1798k 0 0:02:07 0:00:23 0:01:44 $'217k\r' 18 224M 18 42.3M 0 0 1737k 0 0:02:12 0:00:24 0:01:48 $'218k\r' 19 224M 19 43.2M 0 0 1705k 0 0:02:14 0:00:25 0:01:49 $'348k\r' 20 224M 20 45.0M 0 0 1708k 0 0:02:14 0:00:27 0:01:47 $'664k\r' 20 224M 20 46.7M 0 0 1711k 0 0:02:14 0:00:27 0:01:47 $'974k\r' 21 224M 21 48.7M 0 0 1724k 0 0:02:13 0:00:28 0:01:45 $'1366k\r' 22 224M 22 49.9M 0 0 1708k 0 0:02:14 0:00:29 0:01:45 $'1561k\r' 22 224M 22 50.5M 0 0 1669k 0 0:02:17 0:00:30 0:01:47 $'1481k\r' 23 224M 23 51.6M 0 0 1654k 0 0:02:18 0:00:31 0:01:47 $'1359k\r' 23 224M 23 53.3M 0 0 1658k 0 0:02:18 0:00:32 0:01:46 $'1363k\r' 24 224M 24 55.6M 0 0 1678k 0 0:02:16 0:00:33 0:01:43 $'1414k\r' 26 224M 26 58.4M 0 0 1710k 0 0:02:14 0:00:34 0:01:40 $'1725k\r' 26 224M 26 60.2M 0 0 1714k 0 0:02:14 0:00:35 0:01:39 $'1991k\r' 27 224M 27 61.6M 0 0 1706k 0 0:02:14 0:00:36 0:01:38 $'2040k\r' 28 224M 28 63.6M 0 0 1715k 0 0:02:13 0:00:37 0:01:36 $'2096k\r' 29 224M 29 65.7M 0 0 1728k 0 0:02:12 0:00:38 0:01:34 $'2067k\r' 29 224M 29 66.8M 0 0 1713k 0 0:02:14 0:00:39 0:01:35 $'1734k\r' 29 224M 29 67.3M 0 0 1681k 0 0:02:16 0:00:40 0:01:36 $'1444k\r' 30 224M 30 67.3M 0 0 1643k 0 0:02:19 0:00:41 0:01:38 $'1175k\r' 30 224M 30 67.4M 0 0 1600k 0 0:02:23 0:00:43 0:01:40 $'755k\r' 30 224M 30 67.6M 0 0 1573k 0 0:02:26 0:00:44 0:01:42 $'371k\r' 30 224M 30 67.8M 0 0 1542k 0 0:02:29 0:00:45 0:01:44 $'186k\r' 30 224M 30 68.1M 0 0 1516k 0 0:02:31 0:00:45 0:01:46 $'163k\r' 30 224M 30 68.3M 0 0 1490k 0 0:02:34 0:00:46 0:01:48 $'204k\r' 30 224M 30 68.6M 0 0 1464k 0 0:02:36 0:00:47 0:01:49 $'246k\r' 30 224M 30 68.9M 0 0 1441k 0 0:02:39 0:00:48 0:01:51 $'278k\r' 30 224M 30 69.2M 0 0 1419k 0 0:02:41 0:00:49 0:01:52 $'307k\r' 30 224M 30 69.4M 0 0 1393k 0 0:02:44 0:00:51 0:01:53 $'274k\r' 31 224M 31 69.6M 0 0 1371k 0 0:02:47 0:00:51 0:01:56 $'250k\r' 31 224M 31 69.8M 0 0 1349k 0 0:02:50 0:00:52 0:01:58 $'245k\r' 31 224M 31 70.0M 0 0 1328k 0 0:02:53 0:00:53 0:02:00 $'214k\r' 31 224M 31 70.1M 0 0 1307k 0 0:02:55 0:00:54 0:02:01 $'182k\r' 31 224M 31 70.4M 0 0 1287k 0 0:02:58 0:00:55 0:02:03 $'194k\r' 31 224M 31 71.0M 0 0 1276k 0 0:03:00 0:00:56 0:02:04 $'287k\r' 32 224M 32 71.8M 0 0 1269k 0 0:03:00 0:00:57 0:02:03 $'426k\r' 32 224M 32 72.9M 0 0 1265k 0 0:03:01 0:00:58 0:02:03 $'593k\r' 33 224M 33 74.6M 0 0 1275k 0 0:03:00 0:00:59 0:02:01 $'921k\r' 34 224M 34 77.0M 0 0 1293k 0 0:02:57 0:01:00 0:01:57 $'1362k\r' 35 224M 35 79.9M 0 0 1320k 0 0:02:54 0:01:01 0:01:53 $'1825k\r' 36 224M 36 82.9M 0 0 1348k 0 0:02:50 0:01:02 0:01:48 $'2263k\r' 38 224M 38 86.1M 0 0 1379k 0 0:02:46 0:01:03 0:01:43 $'2723k\r' 39 224M 39 89.1M 0 0 1405k 0 0:02:43 0:01:04 0:01:39 $'2960k\r' 40 224M 40 91.8M 0 0 1425k 0 0:02:41 0:01:05 0:01:36 $'3036k\r' 41 224M 41 94.2M 0 0 1440k 0 0:02:39 0:01:06 0:01:33 $'2931k\r' 42 224M 42 96.3M 0 0 1452k 0 0:02:38 0:01:07 0:01:31 $'2759k\r' 43 224M 43 98.5M 0 0 1463k 0 0:02:37 0:01:08 0:01:29 $'2533k\r' 45 224M 45 101M 0 0 1479k 0 0:02:35 0:01:09 0:01:26 $'2455k\r' 45 224M 45 102M 0 0 1477k 0 0:02:35 0:01:10 0:01:25 $'2155k\r' 45 224M 45 102M 0 0 1463k 0 0:02:36 0:01:11 0:01:25 $'1768k\r' 46 224M 46 103M 0 0 1449k 0 0:02:38 0:01:12 0:01:26 $'1417k\r' 46 224M 46 103M 0 0 1435k 0 0:02:40 0:01:13 0:01:27 $'1057k\r' 46 224M 46 104M 0 0 1428k 0 0:02:40 0:01:14 0:01:26 $'707k\r' 47 224M 47 106M 0 0 1431k 0 0:02:40 0:01:15 0:01:25 $'780k\r' 48 224M 48 108M 0 0 1445k 0 0:02:38 0:01:16 0:01:22 $'1180k\r' 49 224M 49 111M 0 0 1464k 0 0:02:36 0:01:17 0:01:19 $'1682k\r' 51 224M 51 114M 0 0 1490k 0 0:02:34 0:01:18 0:01:16 $'2295k\r' 52 224M 52 118M 0 0 1522k 0 0:02:30 0:01:19 0:01:11 $'2937k\r' 54 224M 54 122M 0 0 1552k 0 0:02:28 0:01:20 0:01:08 $'3388k\r' 56 224M 56 126M 0 0 1584k 0 0:02:25 0:01:21 0:01:04 $'3724k\r' 58 224M 58 131M 0 0 1619k 0 0:02:21 0:01:22 0:00:59 $'4036k\r' 60 224M 60 135M 0 0 1652k 0 0:02:19 0:01:23 0:00:56 $'4211k\r' 62 224M 62 139M 0 0 1686k 0 0:02:16 0:01:24 0:00:52 $'4300k\r' 64 224M 64 144M 0 0 1723k 0 0:02:13 0:01:25 0:00:48 $'4489k\r' 66 224M 66 149M 0 0 1754k 0 0:02:10 0:01:26 0:00:44 $'4549k\r' 68 224M 68 152M 0 0 1779k 0 0:02:09 0:01:27 0:00:42 $'4428k\r' 69 224M 69 156M 0 0 1803k 0 0:02:07 0:01:28 0:00:39 $'4348k\r' 71 224M 71 161M 0 0 1833k 0 0:02:05 0:01:29 0:00:36 $'4329k\r' 73 224M 73 164M 0 0 1851k 0 0:02:04 0:01:30 0:00:34 $'4064k\r' 74 224M 74 167M 0 0 1865k 0 0:02:03 0:01:31 0:00:32 $'3794k\r' 76 224M 76 170M 0 0 1879k 0 0:02:02 0:01:32 0:00:30 $'3644k\r' 77 224M 77 173M 0 0 1894k 0 0:02:01 0:01:33 0:00:28 $'3513k\r' 78 224M 78 177M 0 0 1911k 0 0:02:00 0:01:34 0:00:26 $'3321k\r' 80 224M 80 181M 0 0 1936k 0 0:01:58 0:01:35 0:00:23 $'3475k\r' 82 224M 82 186M 0 0 1965k 0 0:01:56 0:01:36 0:00:20 $'3791k\r' 85 224M 85 191M 0 0 1999k 0 0:01:54 0:01:37 0:00:17 $'4230k\r' 87 224M 87 196M 0 0 2036k 0 0:01:52 0:01:38 0:00:14 $'4691k\r' 90 224M 90 203M 0 0 2080k 0 0:01:50 0:01:39 0:00:11 $'5283k\r' 93 224M 93 209M 0 0 2127k 0 0:01:48 0:01:40 0:00:08 $'5790k\r' 96 224M 96 215M 0 0 2167k 0 0:01:46 0:01:41 0:00:05 $'6089k\r' 99 224M 99 222M 0 0 2214k 0 0:01:43 0:01:42 0:00:01 $'6422k\r100' 224M 100 224M 0 0 2226k 0 0:01:43 0:01:43 --:--:-- 6679k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 224M 0 1098k 0 0 1133k 0 0:03:22 --:--:-- 0:03:22 $'1132k\r' 1 224M 1 3386k 0 0 1721k 0 0:02:13 0:00:01 0:02:12 $'1721k\r' 2 224M 2 5434k 0 0 1820k 0 0:02:06 0:00:02 0:02:04 $'1820k\r' 3 224M 3 7754k 0 0 1954k 0 0:01:57 0:00:03 0:01:54 $'1954k\r' 4 224M 4 10.2M 0 0 2122k 0 0:01:48 0:00:04 0:01:44 $'2122k\r' 6 224M 6 13.6M 0 0 2348k 0 0:01:37 0:00:05 0:01:32 $'2584k\r' 7 224M 7 17.5M 0 0 2581k 0 0:01:29 0:00:06 0:01:23 $'2919k\r' 9 224M 9 22.2M 0 0 2865k 0 0:01:20 0:00:07 0:01:13 $'3491k\r' 12 224M 12 27.2M 0 0 3110k 0 0:01:13 0:00:08 0:01:05 $'4027k\r' 13 224M 13 31.3M 0 0 3217k 0 0:01:11 0:00:09 0:01:02 $'4304k\r' 15 224M 15 35.0M 0 0 3274k 0 0:01:10 0:00:10 0:01:00 $'4377k\r' 17 224M 17 38.2M 0 0 3275k 0 0:01:10 0:00:11 0:00:59 $'4242k\r' 17 224M 17 39.2M 0 0 3089k 0 0:01:14 0:00:12 0:01:02 $'3443k\r' 17 224M 17 39.5M 0 0 2898k 0 0:01:19 0:00:13 0:01:06 $'2517k\r' 17 224M 17 39.8M 0 0 2722k 0 0:01:24 0:00:14 0:01:10 $'1742k\r' 17 224M 17 40.1M 0 0 2574k 0 0:01:29 0:00:15 0:01:14 $'1041k\r' 18 224M 18 40.4M 0 0 2441k 0 0:01:34 0:00:16 0:01:18 $'447k\r' 18 224M 18 40.7M 0 0 2313k 0 0:01:39 0:00:18 0:01:21 $'308k\r' 18 224M 18 41.0M 0 0 2214k 0 0:01:43 0:00:18 0:01:25 $'312k\r' 18 224M 18 41.3M 0 0 2117k 0 0:01:48 0:00:19 0:01:29 $'295k\r' 18 224M 18 41.5M 0 0 2029k 0 0:01:53 0:00:20 0:01:33 $'288k\r' 18 224M 18 41.8M 0 0 1947k 0 0:01:57 0:00:21 0:01:36 $'274k\r' 18 224M 18 41.9M 0 0 1870k 0 0:02:02 0:00:22 0:01:40 $'261k\r' 18 224M 18 42.1M 0 0 1798k 0 0:02:07 0:00:23 0:01:44 $'217k\r' 18 224M 18 42.3M 0 0 1737k 0 0:02:12 0:00:24 0:01:48 $'218k\r' 19 224M 19 43.2M 0 0 1705k 0 0:02:14 0:00:25 0:01:49 $'348k\r' 20 224M 20 45.0M 0 0 1708k 0 0:02:14 0:00:27 0:01:47 $'664k\r' 20 224M 20 46.7M 0 0 1711k 0 0:02:14 0:00:27 0:01:47 $'974k\r' 21 224M 21 48.7M 0 0 1724k 0 0:02:13 0:00:28 0:01:45 $'1366k\r' 22 224M 22 49.9M 0 0 1708k 0 0:02:14 0:00:29 0:01:45 $'1561k\r' 22 224M 22 50.5M 0 0 1669k 0 0:02:17 0:00:30 0:01:47 $'1481k\r' 23 224M 23 51.6M 0 0 1654k 0 0:02:18 0:00:31 0:01:47 $'1359k\r' 23 224M 23 53.3M 0 0 1658k 0 0:02:18 0:00:32 0:01:46 $'1363k\r' 24 224M 24 55.6M 0 0 1678k 0 0:02:16 0:00:33 0:01:43 $'1414k\r' 26 224M 26 58.4M 0 0 1710k 0 0:02:14 0:00:34 0:01:40 $'1725k\r' 26 224M 26 60.2M 0 0 1714k 0 0:02:14 0:00:35 0:01:39 $'1991k\r' 27 224M 27 61.6M 0 0 1706k 0 0:02:14 0:00:36 0:01:38 $'2040k\r' 28 224M 28 63.6M 0 0 1715k 0 0:02:13 0:00:37 0:01:36 $'2096k\r' 29 224M 29 65.7M 0 0 1728k 0 0:02:12 0:00:38 0:01:34 $'2067k\r' 29 224M 29 66.8M 0 0 1713k 0 0:02:14 0:00:39 0:01:35 $'1734k\r' 29 224M 29 67.3M 0 0 1681k 0 0:02:16 0:00:40 0:01:36 $'1444k\r' 30 224M 30 67.3M 0 0 1643k 0 0:02:19 0:00:41 0:01:38 $'1175k\r' 30 224M 30 67.4M 0 0 1600k 0 0:02:23 0:00:43 0:01:40 $'755k\r' 30 224M 30 67.6M 0 0 1573k 0 0:02:26 0:00:44 0:01:42 $'371k\r' 30 224M 30 67.8M 0 0 1542k 0 0:02:29 0:00:45 0:01:44 $'186k\r' 30 224M 30 68.1M 0 0 1516k 0 0:02:31 0:00:45 0:01:46 $'163k\r' 30 224M 30 68.3M 0 0 1490k 0 0:02:34 0:00:46 0:01:48 $'204k\r' 30 224M 30 68.6M 0 0 1464k 0 0:02:36 0:00:47 0:01:49 $'246k\r' 30 224M 30 68.9M 0 0 1441k 0 0:02:39 0:00:48 0:01:51 $'278k\r' 30 224M 30 69.2M 0 0 1419k 0 0:02:41 0:00:49 0:01:52 $'307k\r' 30 224M 30 69.4M 0 0 1393k 0 0:02:44 0:00:51 0:01:53 $'274k\r' 31 224M 31 69.6M 0 0 1371k 0 0:02:47 0:00:51 0:01:56 $'250k\r' 31 224M 31 69.8M 0 0 1349k 0 0:02:50 0:00:52 0:01:58 $'245k\r' 31 224M 31 70.0M 0 0 1328k 0 0:02:53 0:00:53 0:02:00 $'214k\r' 31 224M 31 70.1M 0 0 1307k 0 0:02:55 0:00:54 0:02:01 $'182k\r' 31 224M 31 70.4M 0 0 1287k 0 0:02:58 0:00:55 0:02:03 $'194k\r' 31 224M 31 71.0M 0 0 1276k 0 0:03:00 0:00:56 0:02:04 $'287k\r' 32 224M 32 71.8M 0 0 1269k 0 0:03:00 0:00:57 0:02:03 $'426k\r' 32 224M 32 72.9M 0 0 1265k 0 0:03:01 0:00:58 0:02:03 $'593k\r' 33 224M 33 74.6M 0 0 1275k 0 0:03:00 0:00:59 0:02:01 $'921k\r' 34 224M 34 77.0M 0 0 1293k 0 0:02:57 0:01:00 0:01:57 $'1362k\r' 35 224M 35 79.9M 0 0 1320k 0 0:02:54 0:01:01 0:01:53 $'1825k\r' 36 224M 36 82.9M 0 0 1348k 0 0:02:50 0:01:02 0:01:48 $'2263k\r' 38 224M 38 86.1M 0 0 1379k 0 0:02:46 0:01:03 0:01:43 $'2723k\r' 39 224M 39 89.1M 0 0 1405k 0 0:02:43 0:01:04 0:01:39 $'2960k\r' 40 224M 40 91.8M 0 0 1425k 0 0:02:41 0:01:05 0:01:36 $'3036k\r' 41 224M 41 94.2M 0 0 1440k 0 0:02:39 0:01:06 0:01:33 $'2931k\r' 42 224M 42 96.3M 0 0 1452k 0 0:02:38 0:01:07 0:01:31 $'2759k\r' 43 224M 43 98.5M 0 0 1463k 0 0:02:37 0:01:08 0:01:29 $'2533k\r' 45 224M 45 101M 0 0 1479k 0 0:02:35 0:01:09 0:01:26 $'2455k\r' 45 224M 45 102M 0 0 1477k 0 0:02:35 0:01:10 0:01:25 $'2155k\r' 45 224M 45 102M 0 0 1463k 0 0:02:36 0:01:11 0:01:25 $'1768k\r' 46 224M 46 103M 0 0 1449k 0 0:02:38 0:01:12 0:01:26 $'1417k\r' 46 224M 46 103M 0 0 1435k 0 0:02:40 0:01:13 0:01:27 $'1057k\r' 46 224M 46 104M 0 0 1428k 0 0:02:40 0:01:14 0:01:26 $'707k\r' 47 224M 47 106M 0 0 1431k 0 0:02:40 0:01:15 0:01:25 $'780k\r' 48 224M 48 108M 0 0 1445k 0 0:02:38 0:01:16 0:01:22 $'1180k\r' 49 224M 49 111M 0 0 1464k 0 0:02:36 0:01:17 0:01:19 $'1682k\r' 51 224M 51 114M 0 0 1490k 0 0:02:34 0:01:18 0:01:16 $'2295k\r' 52 224M 52 118M 0 0 1522k 0 0:02:30 0:01:19 0:01:11 $'2937k\r' 54 224M 54 122M 0 0 1552k 0 0:02:28 0:01:20 0:01:08 $'3388k\r' 56 224M 56 126M 0 0 1584k 0 0:02:25 0:01:21 0:01:04 $'3724k\r' 58 224M 58 131M 0 0 1619k 0 0:02:21 0:01:22 0:00:59 $'4036k\r' 60 224M 60 135M 0 0 1652k 0 0:02:19 0:01:23 0:00:56 $'4211k\r' 62 224M 62 139M 0 0 1686k 0 0:02:16 0:01:24 0:00:52 $'4300k\r' 64 224M 64 144M 0 0 1723k 0 0:02:13 0:01:25 0:00:48 $'4489k\r' 66 224M 66 149M 0 0 1754k 0 0:02:10 0:01:26 0:00:44 $'4549k\r' 68 224M 68 152M 0 0 1779k 0 0:02:09 0:01:27 0:00:42 $'4428k\r' 69 224M 69 156M 0 0 1803k 0 0:02:07 0:01:28 0:00:39 $'4348k\r' 71 224M 71 161M 0 0 1833k 0 0:02:05 0:01:29 0:00:36 $'4329k\r' 73 224M 73 164M 0 0 1851k 0 0:02:04 0:01:30 0:00:34 $'4064k\r' 74 224M 74 167M 0 0 1865k 0 0:02:03 0:01:31 0:00:32 $'3794k\r' 76 224M 76 170M 0 0 1879k 0 0:02:02 0:01:32 0:00:30 $'3644k\r' 77 224M 77 173M 0 0 1894k 0 0:02:01 0:01:33 0:00:28 $'3513k\r' 78 224M 78 177M 0 0 1911k 0 0:02:00 0:01:34 0:00:26 $'3321k\r' 80 224M 80 181M 0 0 1936k 0 0:01:58 0:01:35 0:00:23 $'3475k\r' 82 224M 82 186M 0 0 1965k 0 0:01:56 0:01:36 0:00:20 $'3791k\r' 85 224M 85 191M 0 0 1999k 0 0:01:54 0:01:37 0:00:17 $'4230k\r' 87 224M 87 196M 0 0 2036k 0 0:01:52 0:01:38 0:00:14 $'4691k\r' 90 224M 90 203M 0 0 2080k 0 0:01:50 0:01:39 0:00:11 $'5283k\r' 93 224M 93 209M 0 0 2127k 0 0:01:48 0:01:40 0:00:08 $'5790k\r' 96 224M 96 215M 0 0 2167k 0 0:01:46 0:01:41 0:00:05 $'6089k\r' 99 224M 99 222M 0 0 2214k 0 0:01:43 0:01:42 0:00:01 $'6422k\r100' 224M 100 224M 0 0 2226k 0 0:01:43 0:01:43 --:--:-- 6679k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=391434e33f87e32c04a833f394a7dbd3f14b3a78, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x0000003fbb358000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fbb283000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbb135000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbb35a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=28a2c4a90363f219abb83defddd63445538a834a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x0000003ff7d4a000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003ff7c70000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff7b22000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff7d4c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f41def98c13042b5220dad5162dd2eb3a811495f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x0000003fd6356000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fd61fe000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd60b0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd6358000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x0000003fc6b88000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fc6a28000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc6b8a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=da3be3303d0f9d7d4c4948c9bd15e68b8aa83eec, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003fe904c000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fe8f70000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe8e22000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe904e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fcaca58ee7a1a2f07553792b7e3b57bdf68f25c0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x0000003fd9231000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd90d1000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd9233000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=13778aa42f3926d92929c41875a156b2637e0842, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003fe79fa000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe7892000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe79fc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x0000003fcc0e1000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fcbf81000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fcc0e3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x0000003fbf7b6000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fbf656000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbf7b8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x0000003fc4642000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fc44e2000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc4644000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a7869523b7b5bd15977ae296d89a01b9337b18e0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003fd8a07000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd88a7000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd8a09000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fec6ba7e67e2b796cae6d18583d7103b5e4133c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003fb9ff8000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fb9e98000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb9ffa000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=1c82bbc49fab6681629a1431aeec1d04855c1c32, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003fea8bd000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fea75d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fea8bf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=050cdeeca3270025456bab5f997e0154c509e55c, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fdd1a6000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fdd046000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fdd1a8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=ebcbdf88347e6618560497de6c5a942c1dac963f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003fcc649000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fcc4e9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fcc64b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4fe76729a51d1ad5073097f0395d56e932e40a9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003fe63d3000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe6273000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe63d5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=39d430c7c91236a80aeb0ff8d30ec49323919843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x0000003ff5041000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003ff4792000) + libstdc++.so.6 => /lib/riscv64-linux-gnu/libstdc++.so.6 (0x0000003ff4585000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x0000003ff4518000) + libgcc_s.so.1 => /lib/riscv64-linux-gnu/libgcc_s.so.1 (0x0000003ff44fe000) + libpthread.so.0 => /lib/riscv64-linux-gnu/libpthread.so.0 (0x0000003ff44fb000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff43ad000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff5043000) + libatomic.so.1 => /lib/riscv64-linux-gnu/libatomic.so.1 (0x0000003ff43a3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8df03d0ff29ad796d26bec7b5be6bbe057b8eed5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003fe43bc000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe425c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe43be000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3dacd56f955811af35ee820e706bd4491c1ccedd, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x0000003fcbb89000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fcbaa5000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fcb957000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fcbb8b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x0000003fd709d000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fd6dd6000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fd6c88000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fd709f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003fc6b6e000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fc68a7000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fc6759000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc6b70000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=de67ace22e5e47dd1fa24f77a4ce762996e536d5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003ff7e93000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003ff7e7e000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x0000003ff7e11000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003ff7cc3000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003ff7e95000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7b35f1643c3a8b49d13754b0bee237506d2945aa, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x0000003fe235c000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fe2284000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe2136000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe235e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=05cf9dc88c199de15f4f7443b0d8f8b75ce6f742, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003fe737b000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fe728d000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe713f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe737d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d67dba7ef971b967f32d1dab248cacfd3305e0e8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x0000003fea9de000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fea857000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fea709000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fea9e0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8eddc0bb144eb9a0441696bcfeb2a264efa3ea6d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003fec661000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fec587000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fec439000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fec663000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a1bc95c06a4a904e4dff4887941078f71194df83, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x0000003fdb62e000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fdb3f9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fdb630000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5b08a6a2463fedb3c900720761d30059db644989, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x0000003fe480f000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fe473a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fe45ec000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fe4811000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7543658774ce7d14c706fda90f27ce8c165d642a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x0000003fc9c8e000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fc9bb8000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fc9a6a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fc9c90000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=136a562434f432d72472cb146736f6423df33d99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x0000003fb8548000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x0000003fb845a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x0000003fb830c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb854a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-system-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-system-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-system-riscv-upstream no binary for current host' +Wed Apr 10 04:43:03 2024 - WARN - Check emulator/qemu-system-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-user-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-upstream no binary for current host' +Wed Apr 10 04:43:07 2024 - WARN - Check emulator/qemu-user-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +declares no binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-xthead no binary for current host' ++ message='Check emulator/qemu-user-riscv-xthead no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-xthead no binary for current host' +Wed Apr 10 04:43:11 2024 - WARN - Check emulator/qemu-user-riscv-xthead no binary for current host ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:43:11 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:43:11 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:43:11 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:43:11 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:43:22 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-10-04_44_48.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-10-04_44_48.log new file mode 100644 index 00000000..6e3cc5ed --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_cmake_ninja/2024-04-10-04_44_48.log @@ -0,0 +1,600 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:44:48 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:44:49 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:45:04 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:45:05 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 14 20.8M 14 3114k 0 0 2599k 0 0:00:08 0:00:01 0:00:07 2597k 27 20.8M 27 5834k 0 0 2638k 0 0:00:08 0:00:02 0:00:06 2637k 30 20.8M 30 6522k 0 0 2036k 0 0:00:10 0:00:03 0:00:07 2035k 34 20.8M 34 7306k 0 0 1739k 0 0:00:12 0:00:04 0:00:08 1739k 38 20.8M 38 8202k 0 0 1576k 0 0:00:13 0:00:05 0:00:08 1669k 43 20.8M 43 9322k 0 0 1503k 0 0:00:14 0:00:06 0:00:08 1241k 52 20.8M 52 10.9M 0 0 1561k 0 0:00:13 0:00:07 0:00:06 1083k 62 20.8M 62 13.0M 0 0 1634k 0 0:00:13 0:00:08 0:00:05 1376k 71 20.8M 71 15.0M 0 0 1672k 0 0:00:12 0:00:09 0:00:03 1616k 81 20.8M 81 17.0M 0 0 1714k 0 0:00:12 0:00:10 0:00:02 1858k 92 20.8M 92 19.3M 0 0 1765k 0 0:00:12 0:00:11 0:00:01 2087k 100 20.8M 100 20.8M 0 0 1790k 0 0:00:11 0:00:11 --:--:-- 2138k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' +Wed Apr 10 04:45:19 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpmtsn6p5o ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpmtsn6p5o ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmpmtsn6p5o ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmpmtsn6p5o +Wed Apr 10 04:45:52 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpmtsn6p5o ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:45:53 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:45:53 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 231M 0 1776k 0 0 1902k 0 0:02:04 --:--:-- 0:02:04 1903k 1 231M 1 4640k 0 0 2417k 0 0:01:38 0:00:01 0:01:37 2417k 2 231M 2 6512k 0 0 2231k 0 0:01:46 0:00:02 0:01:44 2230k 3 231M 3 8304k 0 0 2118k 0 0:01:51 0:00:03 0:01:48 2118k 4 231M 4 10.5M 0 0 2194k 0 0:01:47 0:00:04 0:01:43 2194k 5 231M 5 13.7M 0 0 2379k 0 0:01:39 0:00:05 0:01:34 2467k 7 231M 7 17.1M 0 0 2537k 0 0:01:33 0:00:06 0:01:27 2583k 8 231M 8 20.6M 0 0 2665k 0 0:01:28 0:00:07 0:01:21 2918k 10 231M 10 24.5M 0 0 2824k 0 0:01:23 0:00:08 0:01:15 3377k 11 231M 11 27.6M 0 0 2857k 0 0:01:22 0:00:09 0:01:13 3510k 13 231M 13 30.9M 0 0 2897k 0 0:01:21 0:00:10 0:01:11 3509k 14 231M 14 34.4M 0 0 2956k 0 0:01:20 0:00:11 0:01:09 3535k 16 231M 16 37.6M 0 0 2986k 0 0:01:19 0:00:12 0:01:07 3495k 16 231M 16 38.9M 0 0 2858k 0 0:01:22 0:00:13 0:01:09 2920k 17 231M 17 39.5M 0 0 2711k 0 0:01:27 0:00:14 0:01:13 2421k 17 231M 17 39.9M 0 0 2565k 0 0:01:32 0:00:15 0:01:17 1839k 17 231M 17 40.9M 0 0 2476k 0 0:01:35 0:00:16 0:01:19 1331k 18 231M 18 42.7M 0 0 2444k 0 0:01:36 0:00:17 0:01:19 1043k 19 231M 19 45.4M 0 0 2459k 0 0:01:36 0:00:18 0:01:18 1335k 21 231M 21 48.6M 0 0 2501k 0 0:01:34 0:00:19 0:01:15 1878k 22 231M 22 51.4M 0 0 2519k 0 0:01:34 0:00:20 0:01:14 2372k 22 231M 22 53.1M 0 0 2480k 0 0:01:35 0:00:21 0:01:14 2494k 23 231M 23 54.4M 0 0 2432k 0 0:01:37 0:00:22 0:01:15 2389k 24 231M 24 56.1M 0 0 2402k 0 0:01:38 0:00:23 0:01:15 2184k 25 231M 25 58.6M 0 0 2408k 0 0:01:38 0:00:24 0:01:14 2035k 26 231M 26 61.7M 0 0 2438k 0 0:01:37 0:00:25 0:01:12 2100k 28 231M 28 65.8M 0 0 2503k 0 0:01:34 0:00:26 0:01:08 2606k 30 231M 30 70.6M 0 0 2592k 0 0:01:31 0:00:27 0:01:04 3329k 32 231M 32 75.9M 0 0 2690k 0 0:01:28 0:00:28 0:01:00 4068k 34 231M 34 80.7M 0 0 2762k 0 0:01:25 0:00:29 0:00:56 4536k 36 231M 36 84.1M 0 0 2786k 0 0:01:25 0:00:30 0:00:55 4588k 38 231M 38 88.0M 0 0 2823k 0 0:01:23 0:00:31 0:00:52 4543k 39 231M 39 92.4M 0 0 2875k 0 0:01:22 0:00:32 0:00:50 4453k 41 231M 41 96.7M 0 0 2919k 0 0:01:21 0:00:33 0:00:48 4242k 43 231M 43 100M 0 0 2935k 0 0:01:20 0:00:34 0:00:46 3971k 44 231M 44 103M 0 0 2933k 0 0:01:20 0:00:35 0:00:45 3832k 45 231M 45 104M 0 0 2892k 0 0:01:21 0:00:36 0:00:45 3333k 45 231M 45 105M 0 0 2841k 0 0:01:23 0:00:37 0:00:46 2614k 46 231M 46 106M 0 0 2813k 0 0:01:24 0:00:38 0:00:46 2090k 47 231M 47 109M 0 0 2809k 0 0:01:24 0:00:39 0:00:45 1932k 48 231M 48 112M 0 0 2813k 0 0:01:24 0:00:40 0:00:44 1947k 49 231M 49 115M 0 0 2822k 0 0:01:23 0:00:41 0:00:42 2306k 51 231M 51 119M 0 0 2842k 0 0:01:23 0:00:42 0:00:41 2853k 52 231M 52 120M 0 0 2806k 0 0:01:24 0:00:43 0:00:41 2749k 52 231M 52 121M 0 0 2758k 0 0:01:25 0:00:44 0:00:41 2347k 52 231M 52 121M 0 0 2706k 0 0:01:27 0:00:45 0:00:42 1831k 52 231M 52 121M 0 0 2659k 0 0:01:29 0:00:46 0:00:43 1286k 52 231M 52 122M 0 0 2611k 0 0:01:30 0:00:47 0:00:43 635k 52 231M 52 122M 0 0 2565k 0 0:01:32 0:00:48 0:00:44 456k 53 231M 53 122M 0 0 2519k 0 0:01:34 0:00:49 0:00:45 374k 53 231M 53 123M 0 0 2476k 0 0:01:35 0:00:50 0:00:45 361k 53 231M 53 123M 0 0 2435k 0 0:01:37 0:00:51 0:00:46 355k 53 231M 53 123M 0 0 2397k 0 0:01:38 0:00:52 0:00:46 331k 53 231M 53 124M 0 0 2359k 0 0:01:40 0:00:53 0:00:47 350k 53 231M 53 124M 0 0 2324k 0 0:01:41 0:00:54 0:00:47 383k 54 231M 54 125M 0 0 2293k 0 0:01:43 0:00:55 0:00:48 426k 54 231M 54 125M 0 0 2262k 0 0:01:44 0:00:56 0:00:48 451k 54 231M 54 126M 0 0 2235k 0 0:01:45 0:00:57 0:00:48 529k 54 231M 54 127M 0 0 2206k 0 0:01:47 0:00:58 0:00:49 553k 55 231M 55 127M 0 0 2175k 0 0:01:48 0:00:59 0:00:49 526k 55 231M 55 127M 0 0 2143k 0 0:01:50 0:01:00 0:00:50 467k 55 231M 55 127M 0 0 2114k 0 0:01:52 0:01:01 0:00:51 419k 55 231M 55 128M 0 0 2089k 0 0:01:53 0:01:02 0:00:51 392k 55 231M 55 129M 0 0 2073k 0 0:01:54 0:01:03 0:00:51 500k 56 231M 56 131M 0 0 2069k 0 0:01:54 0:01:04 0:00:50 810k 57 231M 57 133M 0 0 2078k 0 0:01:53 0:01:05 0:00:48 1282k 59 231M 59 137M 0 0 2098k 0 0:01:52 0:01:06 0:00:46 1912k 61 231M 61 141M 0 0 2131k 0 0:01:51 0:01:07 0:00:44 2652k 63 231M 63 146M 0 0 2173k 0 0:01:48 0:01:08 0:00:40 3453k 64 231M 64 149M 0 0 2195k 0 0:01:47 0:01:09 0:00:38 3852k 66 231M 66 154M 0 0 2232k 0 0:01:46 0:01:10 0:00:36 4268k 69 231M 69 159M 0 0 2276k 0 0:01:44 0:01:11 0:00:33 4659k 71 231M 71 165M 0 0 2322k 0 0:01:42 0:01:12 0:00:30 4918k 74 231M 74 171M 0 0 2374k 0 0:01:39 0:01:13 0:00:26 5148k 76 231M 76 177M 0 0 2422k 0 0:01:37 0:01:14 0:00:23 5593k 79 231M 79 182M 0 0 2465k 0 0:01:36 0:01:15 0:00:21 5767k 81 231M 81 187M 0 0 2496k 0 0:01:34 0:01:16 0:00:18 5657k 82 231M 82 191M 0 0 2519k 0 0:01:34 0:01:17 0:00:17 5387k 84 231M 84 195M 0 0 2538k 0 0:01:33 0:01:18 0:00:15 4963k 85 231M 85 198M 0 0 2548k 0 0:01:32 0:01:19 0:00:13 4429k 86 231M 86 201M 0 0 2546k 0 0:01:33 0:01:20 0:00:13 3778k 88 231M 88 203M 0 0 2547k 0 0:01:32 0:01:21 0:00:11 3334k 89 231M 89 206M 0 0 2551k 0 0:01:32 0:01:22 0:00:10 3056k 90 231M 90 209M 0 0 2559k 0 0:01:32 0:01:23 0:00:09 2880k 91 231M 91 212M 0 0 2561k 0 0:01:32 0:01:24 0:00:08 2779k 93 231M 93 215M 0 0 2569k 0 0:01:32 0:01:25 0:00:07 2936k 94 231M 94 218M 0 0 2576k 0 0:01:31 0:01:26 0:00:05 3053k 96 231M 96 222M 0 0 2587k 0 0:01:31 0:01:27 0:00:04 3180k 97 231M 97 225M 0 0 2593k 0 0:01:31 0:01:28 0:00:03 3167k 98 231M 98 227M 0 0 2593k 0 0:01:31 0:01:29 0:00:02 3124k 99 231M 99 230M 0 0 2594k 0 0:01:31 0:01:30 0:00:01 3024k 100 231M 100 231M 0 0 2595k 0 0:01:31 0:01:31 --:--:-- 2972k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 294M 0 2400k 0 0 2298k 0 0:02:11 0:00:01 0:02:10 2298k 2 294M 2 6816k 0 0 3349k 0 0:01:30 0:00:02 0:01:28 3349k 3 294M 3 10.3M 0 0 3430k 0 0:01:28 0:00:03 0:01:25 3430k 4 294M 4 13.2M 0 0 3363k 0 0:01:29 0:00:04 0:01:25 3363k 5 294M 5 16.5M 0 0 3368k 0 0:01:29 0:00:05 0:01:24 3392k 6 294M 6 19.0M 0 0 3240k 0 0:01:33 0:00:06 0:01:27 3436k 7 294M 7 21.0M 0 0 3061k 0 0:01:38 0:00:07 0:01:31 2945k 7 294M 7 22.8M 0 0 2911k 0 0:01:43 0:00:08 0:01:35 2588k 8 294M 8 24.5M 0 0 2781k 0 0:01:48 0:00:09 0:01:39 2310k 9 294M 9 26.6M 0 0 2713k 0 0:01:51 0:00:10 0:01:41 2055k 9 294M 9 29.2M 0 0 2712k 0 0:01:51 0:00:11 0:01:40 2076k 10 294M 10 32.3M 0 0 2752k 0 0:01:49 0:00:12 0:01:37 2315k 12 294M 12 36.1M 0 0 2843k 0 0:01:46 0:00:13 0:01:33 2733k 13 294M 13 41.0M 0 0 2997k 0 0:01:40 0:00:14 0:01:26 3388k 15 294M 15 46.6M 0 0 3175k 0 0:01:35 0:00:15 0:01:20 4101k 17 294M 17 52.7M 0 0 3371k 0 0:01:29 0:00:16 0:01:13 4825k 20 294M 20 59.2M 0 0 3559k 0 0:01:24 0:00:17 0:01:07 5499k 22 294M 22 66.0M 0 0 3748k 0 0:01:20 0:00:18 0:01:02 6108k 25 294M 25 74.0M 0 0 3977k 0 0:01:15 0:00:19 0:00:56 6720k 27 294M 27 81.9M 0 0 4189k 0 0:01:12 0:00:20 0:00:52 7243k 30 294M 30 90.4M 0 0 4402k 0 0:01:08 0:00:21 0:00:47 7707k 33 294M 33 99.1M 0 0 4606k 0 0:01:05 0:00:22 0:00:43 8179k 36 294M 36 106M 0 0 4738k 0 0:01:03 0:00:23 0:00:40 8291k 37 294M 37 111M 0 0 4767k 0 0:01:03 0:00:24 0:00:39 7782k 39 294M 39 116M 0 0 4766k 0 0:01:03 0:00:25 0:00:38 7081k 41 294M 41 121M 0 0 4796k 0 0:01:02 0:00:26 0:00:36 6454k 43 294M 43 127M 0 0 4846k 0 0:01:02 0:00:27 0:00:35 5905k 45 294M 45 134M 0 0 4908k 0 0:01:01 0:00:28 0:00:33 5695k 47 294M 47 140M 0 0 4956k 0 0:01:00 0:00:29 0:00:31 5862k 49 294M 49 146M 0 0 4978k 0 0:01:00 0:00:30 0:00:30 6035k 51 294M 51 150M 0 0 4973k 0 0:01:00 0:00:31 0:00:29 5894k 52 294M 52 155M 0 0 4976k 0 0:01:00 0:00:32 0:00:28 5679k 54 294M 54 161M 0 0 4997k 0 0:01:00 0:00:33 0:00:27 5495k 56 294M 56 167M 0 0 5041k 0 0:00:59 0:00:34 0:00:25 5536k 58 294M 58 173M 0 0 5069k 0 0:00:59 0:00:35 0:00:24 5617k 60 294M 60 179M 0 0 5101k 0 0:00:59 0:00:36 0:00:23 5894k 62 294M 62 185M 0 0 5134k 0 0:00:58 0:00:37 0:00:21 6147k 65 294M 65 192M 0 0 5178k 0 0:00:58 0:00:38 0:00:20 6374k 67 294M 67 199M 0 0 5227k 0 0:00:57 0:00:39 0:00:18 6495k 70 294M 70 206M 0 0 5285k 0 0:00:57 0:00:40 0:00:17 6800k 72 294M 72 214M 0 0 5355k 0 0:00:56 0:00:41 0:00:15 7193k 75 294M 75 221M 0 0 5401k 0 0:00:55 0:00:42 0:00:13 7375k 77 294M 77 229M 0 0 5456k 0 0:00:55 0:00:43 0:00:12 7577k 80 294M 80 237M 0 0 5517k 0 0:00:54 0:00:44 0:00:10 7783k 82 294M 82 244M 0 0 5552k 0 0:00:54 0:00:45 0:00:09 7682k 85 294M 85 251M 0 0 5592k 0 0:00:53 0:00:46 0:00:07 7542k 87 294M 87 257M 0 0 5614k 0 0:00:53 0:00:47 0:00:06 7408k 89 294M 89 264M 0 0 5641k 0 0:00:53 0:00:48 0:00:05 7233k 92 294M 92 271M 0 0 5671k 0 0:00:53 0:00:49 0:00:04 7030k 94 294M 94 278M 0 0 5704k 0 0:00:52 0:00:50 0:00:02 7077k 97 294M 97 286M 0 0 5738k 0 0:00:52 0:00:51 0:00:01 7083k 99 294M 99 293M 0 0 5779k 0 0:00:52 0:00:52 --:--:-- 7314k 100 294M 100 294M 0 0 5775k 0 0:00:52 0:00:52 --:--:-- 7294k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 454k 0 --:--:-- --:--:-- --:--:-- 454k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=9c635b0506f42e64cf04372c637dc42e18d599e8, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.25.1 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[2/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[3/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[6/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[20/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[21/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[22/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[25/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[28/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[33/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[35/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[40/93] Linking C shared library libz.so.1.3.0.zlib-ng +[41/93] Creating library symlink libz.so.1 libz.so +[42/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[43/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[74/93] Building C object test/CMakeFiles/example.dir/example.c.o +[75/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[76/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[77/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[78/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[79/93] Linking C executable switchlevels +[80/93] Linking C executable example +[81/93] Linking C executable minideflate +[82/93] Linking C static library libz.a +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Linking C executable infcover +[85/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[86/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[87/93] Linking C executable minigzip +[88/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[89/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[90/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[91/93] Linking C executable makefixed +[92/93] Linking C executable makecrct +[93/93] Linking C executable maketrees ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:56:18 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:56:18 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:56:18 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpmtsn6p5o ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmtsn6p5o +Wed Apr 10 04:56:19 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmtsn6p5o ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmtsn6p5o +Wed Apr 10 04:56:30 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpmtsn6p5o ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmtsn6p5o +Wed Apr 10 04:56:39 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmtsn6p5o ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmtsn6p5o +Wed Apr 10 04:56:44 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:56:44 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_common/2024-04-10-04_20_46.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_common/2024-04-10-04_20_46.log new file mode 100644 index 00000000..57f5564c --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_common/2024-04-10-04_20_46.log @@ -0,0 +1,909 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:20:46 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:20:47 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:21:02 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:21:03 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 20.8M 6 1370k 0 0 2239k 0 0:00:09 --:--:-- 0:00:09 2240k 43 20.8M 43 9338k 0 0 5818k 0 0:00:03 0:00:01 0:00:02 5818k 87 20.8M 87 18.1M 0 0 7145k 0 0:00:02 0:00:02 --:--:-- 7144k 100 20.8M 100 20.8M 0 0 7398k 0 0:00:02 0:00:02 --:--:-- 7398k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:21:06 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:21:06 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting +objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-xthead +gnu-plct +llvm-upstream +gnu-plct-rv64ilp32-elf +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' '!' -z ' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ']' ++ pkgname=gnu-plct-xthead ++ break ++ '[' -z gnu-plct-xthead ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8. +0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz': all source URLs +have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct-xthead ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8. +0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz': all source URLs +have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-xthead ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-xthead ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-xthead-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct-xthead ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-xthead-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17 +125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 671 100 671 0 0 1811 0 --:--:-- --:--:-- --:--:-- 1813 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:24:49 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:25:04 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:25:05 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 20 20.8M 20 4426k 0 0 3838k 0 0:00:05 0:00:01 0:00:04 3838k 52 20.8M 52 10.9M 0 0 5243k 0 0:00:04 0:00:02 0:00:02 5243k 85 20.8M 85 17.7M 0 0 5796k 0 0:00:03 0:00:03 --:--:-- 5795k 100 20.8M 100 20.8M 0 0 5809k 0 0:00:03 0:00:03 --:--:-- 5808k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:25:18 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:25:18 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:25:18 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:25:18 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:25:18 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_config/2024-04-10-04_30_42.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_config/2024-04-10-04_30_42.log new file mode 100644 index 00000000..da3a6ce5 --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_config/2024-04-10-04_30_42.log @@ -0,0 +1,262 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:30:42 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:30:43 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:30:58 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:30:59 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 28 20.8M 28 6143k 0 0 4650k 0 0:00:04 0:00:01 0:00:03 4650k 65 20.8M 65 13.6M 0 0 6061k 0 0:00:03 0:00:02 0:00:01 6062k 100 20.8M 100 20.8M 0 0 6756k 0 0:00:03 0:00:03 --:--:-- 6759k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:31:03 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:31:03 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting +objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting +objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting +objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting +objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:31:27 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:31:27 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:31:28 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:31:28 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:31:28 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_device/2024-04-10-04_05_10.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_device/2024-04-10-04_05_10.log new file mode 100644 index 00000000..d713f1ff --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_device/2024-04-10-04_05_10.log @@ -0,0 +1,2753 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:05:10 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:05:11 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:05:26 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:05:27 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 35 20.8M 35 7552k 0 0 5847k 0 0:00:03 0:00:01 0:00:02 5845k 86 20.8M 86 18.0M 0 0 8078k 0 0:00:02 0:00:02 --:--:-- 8076k 100 20.8M 100 20.8M 0 0 8397k 0 0:00:02 0:00:02 --:--:-- 8397k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:05:30 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:05:30 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 940515 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 384k 832k 1312k 1728k 2192k 2576k 3008k 3440k 3872k 4304k 4672k 5072k 5552k 6016k 6448k 7008k 7536k 8000k 8464k 9104k 9664k 9.9M 10.4M 11.0M 11.4M 12.1M 12.7M 13.0M 13.4M 13.7M 14.1M 14.5M 14.9M 15.3M 15.7M 16.2M 16.7M 17.0M 17.2M 17.7M 18.2M 18.6M 19.0M 19.4M 19.8M 20.3M 20.8M 21.2M 21.5M 21.9M 22.4M 22.9M 23.3M 23.8M 24.2M 24.7M ' +++ echo Received Spent 0 0 384k 832k 1312k 1728k 2192k 2576k 3008k 3440k 3872k 4304k 4672k 5072k 5552k 6016k 6448k 7008k 7536k 8000k 8464k 9104k 9664k 9.9M 10.4M 11.0M 11.4M 12.1M 12.7M 13.0M 13.4M 13.7M 14.1M 14.5M 14.9M 15.3M 15.7M 16.2M 16.7M 17.0M 17.2M 17.7M 18.2M 18.6M 19.0M 19.4M 19.8M 20.3M 20.8M 21.2M 21.5M 21.9M 22.4M 22.9M 23.3M 23.8M 24.2M 24.7M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 384k =~ [0-9]+ ]] ++ [[ 384k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 940620 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 583k 1111k 1495k 1863k 2199k 2519k 2887k 3239k 3607k 3975k 4343k 4631k 4935k 5239k 5623k 5991k 6439k 6727k 7143k 7591k 7847k 8055k 8231k 8519k 8871k 9239k 9831k 10.0M 10.4M 10.9M 11.5M 12.0M 12.3M 12.6M 13.0M 13.3M 13.6M 14.1M 14.7M 15.0M 15.3M 15.7M 16.3M 16.8M 17.3M 17.8M 18.2M 18.7M 19.1M 19.4M 19.8M 20.2M 20.6M 21.1M 21.4M 21.8M ' +++ echo Received Spent 0 0 583k 1111k 1495k 1863k 2199k 2519k 2887k 3239k 3607k 3975k 4343k 4631k 4935k 5239k 5623k 5991k 6439k 6727k 7143k 7591k 7847k 8055k 8231k 8519k 8871k 9239k 9831k 10.0M 10.4M 10.9M 11.5M 12.0M 12.3M 12.6M 13.0M 13.3M 13.6M 14.1M 14.7M 15.0M 15.3M 15.7M 16.3M 16.8M 17.3M 17.8M 18.2M 18.7M 19.1M 19.4M 19.8M 20.2M 20.6M 21.1M 21.4M 21.8M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 583k =~ [0-9]+ ]] ++ [[ 583k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 940765 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 2015k 13.0M 22.4M 29.1M 33.2M 37.7M 43.7M 53.9M 64.0M 70.2M 77.1M 82.6M 88.2M 92.7M 98.0M 103M 109M 115M 121M 127M 134M 140M 146M 154M 160M 167M 173M 179M 186M 192M 197M 203M 208M 209M for ' +++ echo Received Spent 0 2015k 13.0M 22.4M 29.1M 33.2M 37.7M 43.7M 53.9M 64.0M 70.2M 77.1M 82.6M 88.2M 92.7M 98.0M 103M 109M 115M 121M 127M 134M 140M 146M 154M 160M 167M 173M 179M 186M 192M 197M 203M 208M 209M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2015k =~ [0-9]+ ]] ++ [[ 2015k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ ruyi device provision ++ echo -e 'y\n2\n1\n1\nn' ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 940763 Done nohup echo -e "$now_exec" + 940764 Exit 120 | ruyi device provision 2>&1 + 940765 Killed | tee > /tmp/ruyi_device/output ++ kill -9 940872 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 2031k 11.0M 20.8M 30.8M 40.7M 50.7M 61.2M 71.2M 81.3M 91.3M 101M 109M 118M 128M 138M 148M 159M 169M 179M 189M 194M for ' +++ echo Received Spent 0 2031k 11.0M 20.8M 30.8M 40.7M 50.7M 61.2M 71.2M 81.3M 91.3M 101M 109M 118M 128M 138M 148M 159M 169M 179M 189M 194M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2031k =~ [0-9]+ ]] ++ [[ 2031k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ sed 's$/$_$g' +++ echo -E y212y ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 940870 Done nohup echo -e "$now_exec" + 940871 Exit 120 | ruyi device provision 2>&1 + 940872 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n2\n1\n2\nn' ++ now_exec_f=y212n +++ sed 's$/$_$g' +++ echo -E y212n ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ ruyi device provision ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ nohup echo -e 'y\n3\n1\n1\ny' +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 940513 Done nohup echo -e "$now_exec" + 940514 Exit 120 | ruyi device provision 2>&1 + 940515 Killed | tee > /tmp/ruyi_device/output ++ kill -9 941022 +./common/device_lib.sh: line 49: kill: (941022) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 6881 97040 846k 4206k 8286k 11.9M 17.2M 23.7M 28.0M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 6881 97040 846k 4206k 8286k 11.9M 17.2M 23.7M 28.0M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 6881 =~ [0-9]+ ]] ++ [[ 6881 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ sed 's$/$_$g' +++ echo -E y311y ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ tee ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 941131 +./common/device_lib.sh: line 49: kill: (941131) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 111k 1471k 5935k 10.7M 17.2M 23.1M 28.8M 35.9M 41.8M 49.0M 54.4M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 111k 1471k 5935k 10.7M 17.2M 23.1M 28.8M 35.9M 41.8M 49.0M 54.4M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 111k =~ [0-9]+ ]] ++ [[ 111k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 940618 Done nohup echo -e "$now_exec" + 940619 Exit 120 | ruyi device provision 2>&1 + 940620 Killed | tee > /tmp/ruyi_device/output ++ kill -9 941261 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 98295 1247k 4895k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k ' +++ echo Received Spent 0 0 0 0 0 0 0 0 98295 1247k 4895k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k 6751k ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 98295 =~ [0-9]+ ]] ++ [[ 98295 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 941367 +./common/device_lib.sh: line 49: kill: (941367) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 100k 1636k 5988k 10.5M 15.9M 21.2M 26.5M 31.7M 38.0M 43.8M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 100k 1636k 5988k 10.5M 15.9M 21.2M 26.5M 31.7M 38.0M 43.8M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 100k =~ [0-9]+ ]] ++ [[ 100k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 941259 Done nohup echo -e "$now_exec" + 941260 Exit 120 | ruyi device provision 2>&1 + 941261 Killed | tee > /tmp/ruyi_device/output ++ kill -9 941514 +./common/device_lib.sh: line 49: kill: (941514) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 110k 1358k 7134k 10.9M 15.9M 23.1M 27.1M 33.9M 39.5M 41.4M 43.6M 46.2M 50.6M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 110k 1358k 7134k 10.9M 15.9M 23.1M 27.1M 33.9M 39.5M 41.4M 43.6M 46.2M 50.6M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 110k =~ [0-9]+ ]] ++ [[ 110k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-04:16:58.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:16:58 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:16:58 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:16:58 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:16:58 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:16:59 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_device/2024-04-10-04_16_58.tar.gz b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_device/2024-04-10-04_16_58.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f4c4caf298e1493ebd79ba45fedf959a0b40bb77 GIT binary patch literal 8063 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 literal 0 HcmV?d00001 diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-04_25_19.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-04_25_19.log new file mode 100644 index 00000000..2fd9de63 --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-04_25_19.log @@ -0,0 +1,297 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:25:19 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:25:20 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:25:35 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:25:36 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 26 20.8M 26 5586k 0 0 5177k 0 0:00:04 0:00:01 0:00:03 5177k 77 20.8M 77 16.1M 0 0 7966k 0 0:00:02 0:00:02 --:--:-- 7966k 100 20.8M 100 20.8M 0 0 8540k 0 0:00:02 0:00:02 --:--:-- 8538k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:25:39 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:25:40 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 14 42.8M 14 6218k 0 0 4762k 0 0:00:09 0:00:01 0:00:08 4761k 30 42.8M 30 13.1M 0 0 5855k 0 0:00:07 0:00:02 0:00:05 5854k 46 42.8M 46 19.7M 0 0 6147k 0 0:00:07 0:00:03 0:00:04 6146k 62 42.8M 62 26.8M 0 0 6415k 0 0:00:06 0:00:04 0:00:02 6415k 79 42.8M 79 34.0M 0 0 6590k 0 0:00:06 0:00:05 0:00:01 6977k 96 42.8M 96 41.4M 0 0 6738k 0 0:00:06 0:00:06 --:--:-- 7254k 100 42.8M 100 42.8M 0 0 6741k 0 0:00:06 0:00:06 --:--:-- 7224k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:26:24 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:26:24 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:26:24 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:26:24 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:26:25 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-04_31_29.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-04_31_29.log new file mode 100644 index 00000000..27944af6 --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-04_31_29.log @@ -0,0 +1,266 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:31:29 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:31:30 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:31:45 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:31:46 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 11 20.8M 11 2512k 0 0 2021k 0 0:00:10 0:00:01 0:00:09 2020k 30 20.8M 30 6448k 0 0 2872k 0 0:00:07 0:00:02 0:00:05 2872k 52 20.8M 52 10.9M 0 0 3460k 0 0:00:06 0:00:03 0:00:03 3460k 78 20.8M 78 16.4M 0 0 3974k 0 0:00:05 0:00:04 0:00:01 3974k 100 20.8M 100 20.8M 0 0 4310k 0 0:00:04 0:00:04 --:--:-- 4569k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:31:52 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:31:52 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:03 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 231M 0 2170k 0 0 2333k 0 0:01:41 --:--:-- 0:01:41 2331k 2 231M 2 5322k 0 0 2704k 0 0:01:27 0:00:01 0:01:26 2704k 3 231M 3 8938k 0 0 3049k 0 0:01:17 0:00:02 0:01:15 3049k 5 231M 5 13.0M 0 0 3399k 0 0:01:09 0:00:03 0:01:06 3399k 7 231M 7 18.0M 0 0 3749k 0 0:01:03 0:00:04 0:00:59 3749k 10 231M 10 23.6M 0 0 4081k 0 0:00:58 0:00:05 0:00:53 4406k 12 231M 12 29.4M 0 0 4358k 0 0:00:54 0:00:06 0:00:48 5013k 15 231M 15 34.7M 0 0 4488k 0 0:00:52 0:00:07 0:00:45 5333k 17 231M 17 40.0M 0 0 4590k 0 0:00:51 0:00:08 0:00:43 5525k 19 231M 19 45.9M 0 0 4732k 0 0:00:50 0:00:09 0:00:41 5701k 22 231M 22 52.1M 0 0 4885k 0 0:00:48 0:00:10 0:00:38 5838k 25 231M 25 58.9M 0 0 5037k 0 0:00:47 0:00:11 0:00:36 5967k 27 231M 27 64.3M 0 0 5089k 0 0:00:46 0:00:12 0:00:34 6041k 30 231M 30 70.4M 0 0 5176k 0 0:00:45 0:00:13 0:00:32 6223k 33 231M 33 76.8M 0 0 5269k 0 0:00:44 0:00:14 0:00:30 6336k 35 231M 35 82.4M 0 0 5300k 0 0:00:44 0:00:15 0:00:29 6206k 38 231M 38 88.4M 0 0 5350k 0 0:00:44 0:00:16 0:00:28 6109k 40 231M 40 94.7M 0 0 5403k 0 0:00:43 0:00:17 0:00:26 6212k 43 231M 43 99.9M 0 0 5410k 0 0:00:43 0:00:18 0:00:25 6060k 45 231M 45 104M 0 0 5393k 0 0:00:43 0:00:19 0:00:24 5760k 47 231M 47 109M 0 0 5354k 0 0:00:44 0:00:20 0:00:24 5526k 49 231M 49 114M 0 0 5335k 0 0:00:44 0:00:21 0:00:23 5283k 51 231M 51 118M 0 0 5302k 0 0:00:44 0:00:22 0:00:22 4936k 52 231M 52 122M 0 0 5242k 0 0:00:45 0:00:23 0:00:22 4608k 54 231M 54 125M 0 0 5145k 0 0:00:46 0:00:24 0:00:22 4171k 55 231M 55 127M 0 0 5053k 0 0:00:46 0:00:25 0:00:21 3795k 56 231M 56 130M 0 0 4976k 0 0:00:47 0:00:26 0:00:21 3404k 57 231M 57 133M 0 0 4906k 0 0:00:48 0:00:27 0:00:21 3094k 58 231M 58 136M 0 0 4820k 0 0:00:49 0:00:28 0:00:21 2803k 60 231M 60 139M 0 0 4759k 0 0:00:49 0:00:29 0:00:20 2811k 61 231M 61 142M 0 0 4721k 0 0:00:50 0:00:30 0:00:20 3004k 63 231M 63 146M 0 0 4691k 0 0:00:50 0:00:31 0:00:19 3178k 64 231M 64 149M 0 0 4651k 0 0:00:50 0:00:32 0:00:18 3228k 65 231M 65 152M 0 0 4595k 0 0:00:51 0:00:33 0:00:18 3292k 67 231M 67 155M 0 0 4563k 0 0:00:51 0:00:34 0:00:17 3391k 68 231M 68 159M 0 0 4545k 0 0:00:52 0:00:35 0:00:17 3456k 71 231M 71 164M 0 0 4557k 0 0:00:51 0:00:36 0:00:15 3687k 73 231M 73 170M 0 0 4591k 0 0:00:51 0:00:37 0:00:14 4196k 76 231M 76 176M 0 0 4642k 0 0:00:51 0:00:38 0:00:13 4965k 79 231M 79 183M 0 0 4710k 0 0:00:50 0:00:39 0:00:11 5732k 82 231M 82 191M 0 0 4791k 0 0:00:49 0:00:40 0:00:09 6558k 86 231M 86 199M 0 0 4877k 0 0:00:48 0:00:41 0:00:07 7234k 89 231M 89 206M 0 0 4928k 0 0:00:48 0:00:42 0:00:06 7476k 92 231M 92 214M 0 0 4998k 0 0:00:47 0:00:43 0:00:04 7766k 96 231M 96 222M 0 0 5078k 0 0:00:46 0:00:44 0:00:02 8016k 99 231M 99 230M 0 0 5130k 0 0:00:46 0:00:45 0:00:01 7905k 100 231M 100 231M 0 0 5137k 0 0:00:46 0:00:46 --:--:-- 7741k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:34:11 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:34:11 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:34:12 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:34:12 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:34:15 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_llvm/2024-04-10-04_04_29.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_llvm/2024-04-10-04_04_29.log new file mode 100644 index 00000000..7fc50c7a --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_llvm/2024-04-10-04_04_29.log @@ -0,0 +1,175 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:04:29 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:04:30 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:04:45 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:04:46 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 20.8M 0 93584 0 0 198k 0 0:01:47 --:--:-- 0:01:47 198k 14 20.8M 14 3115k 0 0 2134k 0 0:00:10 0:00:01 0:00:09 2133k 30 20.8M 30 6459k 0 0 2633k 0 0:00:08 0:00:02 0:00:06 2633k 50 20.8M 50 10.4M 0 0 3098k 0 0:00:06 0:00:03 0:00:03 3098k 71 20.8M 71 14.9M 0 0 3449k 0 0:00:06 0:00:04 0:00:02 3449k 97 20.8M 97 20.3M 0 0 3806k 0 0:00:05 0:00:05 --:--:-- 4138k 100 20.8M 100 20.8M 0 0 3821k 0 0:00:05 0:00:05 --:--:-- 4417k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:04:52 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:04:52 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' riscv64 == riscv64 ']' ++ qemu_pkg= ++ qemu_cmd= ++ qemu_bin= ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting +objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:02 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No llvm-upstream available for current host riscv64, skip' ++ message='No llvm-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No llvm-upstream available for current host riscv64, skip' +Wed Apr 10 04:05:08 2024 - INFO - No llvm-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:05:08 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:05:09 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:05:09 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_news/2024-04-10-04_43_57.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_news/2024-04-10-04_43_57.log new file mode 100644 index 00000000..c3e33877 --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_news/2024-04-10-04_43_57.log @@ -0,0 +1,260 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:43:57 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:43:58 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:44:14 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:44:15 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 8 20.8M 8 1904k 0 0 2560k 0 0:00:08 --:--:-- 0:00:08 2559k 42 20.8M 42 9168k 0 0 5256k 0 0:00:04 0:00:01 0:00:03 5256k 80 20.8M 80 16.7M 0 0 6237k 0 0:00:03 0:00:02 0:00:01 6236k 100 20.8M 100 20.8M 0 0 6507k 0 0:00:03 0:00:03 --:--:-- 6508k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:44:18 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:44:19 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting +objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting +objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting +objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting +objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting +objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting +objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting +objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% +(465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% +(495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% +(524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% +(554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: +79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% +(94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: +34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:03 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:44:46 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:44:46 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:44:47 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:44:47 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:44:47 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_qemu/2024-04-10-04_19_51.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_qemu/2024-04-10-04_19_51.log new file mode 100644 index 00000000..8d96a115 --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_qemu/2024-04-10-04_19_51.log @@ -0,0 +1,167 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:19:52 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:19:53 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:20:08 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:20:09 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 20.8M 3 660k 0 0 869k 0 0:00:24 --:--:-- 0:00:24 869k 9 20.8M 9 1956k 0 0 1130k 0 0:00:18 0:00:01 0:00:17 1130k 20 20.8M 20 4308k 0 0 1577k 0 0:00:13 0:00:02 0:00:11 1577k 25 20.8M 25 5556k 0 0 1489k 0 0:00:14 0:00:03 0:00:11 1488k 27 20.8M 27 5972k 0 0 1260k 0 0:00:16 0:00:04 0:00:12 1260k 31 20.8M 31 6676k 0 0 1165k 0 0:00:18 0:00:05 0:00:13 1210k 32 20.8M 32 7028k 0 0 1042k 0 0:00:20 0:00:06 0:00:14 1012k 36 20.8M 36 7796k 0 0 1007k 0 0:00:21 0:00:07 0:00:14 696k 43 20.8M 43 9284k 0 0 1063k 0 0:00:20 0:00:08 0:00:12 745k 53 20.8M 53 11.2M 0 0 1183k 0 0:00:18 0:00:09 0:00:09 1110k 67 20.8M 67 14.1M 0 0 1351k 0 0:00:15 0:00:10 0:00:05 1564k 78 20.8M 78 16.3M 0 0 1430k 0 0:00:14 0:00:11 0:00:03 1952k 81 20.8M 81 16.9M 0 0 1366k 0 0:00:15 0:00:12 0:00:03 1923k 86 20.8M 86 18.0M 0 0 1345k 0 0:00:15 0:00:13 0:00:02 1839k 90 20.8M 90 18.9M 0 0 1315k 0 0:00:16 0:00:14 0:00:02 1572k 92 20.8M 92 19.3M 0 0 1262k 0 0:00:16 0:00:15 0:00:01 1071k 94 20.8M 94 19.7M 0 0 1207k 0 0:00:17 0:00:16 0:00:01 682k 96 20.8M 96 20.1M 0 0 1163k 0 0:00:18 0:00:17 0:00:01 646k 100 20.8M 100 20.8M 0 0 1153k 0 0:00:18 0:00:18 --:--:-- 604k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:20:28 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:20:28 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No qemu-user-riscv-upstream available for current host riscv64, skip' ++ message='No qemu-user-riscv-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No qemu-user-riscv-upstream available for current host riscv64, skip' +Wed Apr 10 04:20:44 2024 - INFO - No qemu-user-riscv-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:20:44 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:20:45 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:20:45 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_venv/2024-04-10-04_16_59.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_venv/2024-04-10-04_16_59.log new file mode 100644 index 00000000..a27f783c --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_venv/2024-04-10-04_16_59.log @@ -0,0 +1,276 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:17:00 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:17:01 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:17:16 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:17:17 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 16 20.8M 16 3578k 0 0 2867k 0 0:00:07 0:00:01 0:00:06 2867k 41 20.8M 41 8810k 0 0 3918k 0 0:00:05 0:00:02 0:00:03 3917k 66 20.8M 66 13.9M 0 0 4400k 0 0:00:04 0:00:03 0:00:01 4401k 95 20.8M 95 20.0M 0 0 4826k 0 0:00:04 0:00:04 --:--:-- 4826k 100 20.8M 100 20.8M 0 0 4873k 0 0:00:04 0:00:04 --:--:-- 5248k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:17:22 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:17:22 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing +objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:03 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 231M 0 2274k 0 0 2081k 0 0:01:53 0:00:01 0:01:52 2080k 2 231M 2 6610k 0 0 3173k 0 0:01:14 0:00:02 0:01:12 3173k 4 231M 4 10.4M 0 0 3465k 0 0:01:08 0:00:03 0:01:05 3465k 6 231M 6 14.0M 0 0 3533k 0 0:01:07 0:00:04 0:01:03 3533k 7 231M 7 18.0M 0 0 3635k 0 0:01:05 0:00:05 0:01:00 3854k 9 231M 9 22.2M 0 0 3744k 0 0:01:03 0:00:06 0:00:57 4109k 11 231M 11 27.1M 0 0 3924k 0 0:01:00 0:00:07 0:00:53 4236k 14 231M 14 32.8M 0 0 4166k 0 0:00:56 0:00:08 0:00:48 4597k 16 231M 16 39.0M 0 0 4395k 0 0:00:53 0:00:09 0:00:44 5099k 19 231M 19 45.3M 0 0 4610k 0 0:00:51 0:00:10 0:00:41 5601k 22 231M 22 52.5M 0 0 4854k 0 0:00:48 0:00:11 0:00:37 6204k 25 231M 25 60.1M 0 0 5096k 0 0:00:46 0:00:12 0:00:34 6756k 29 231M 29 68.6M 0 0 5358k 0 0:00:44 0:00:13 0:00:31 7274k 32 231M 32 75.8M 0 0 5518k 0 0:00:42 0:00:14 0:00:28 7562k 36 231M 36 83.5M 0 0 5668k 0 0:00:41 0:00:15 0:00:26 7803k 38 231M 38 90.0M 0 0 5733k 0 0:00:41 0:00:16 0:00:25 7683k 41 231M 41 96.4M 0 0 5781k 0 0:00:40 0:00:17 0:00:23 7438k 44 231M 44 103M 0 0 5865k 0 0:00:40 0:00:18 0:00:22 7204k 48 231M 48 111M 0 0 5973k 0 0:00:39 0:00:19 0:00:20 7257k 51 231M 51 119M 0 0 6081k 0 0:00:38 0:00:20 0:00:18 7324k 54 231M 54 126M 0 0 6166k 0 0:00:38 0:00:21 0:00:17 7558k 58 231M 58 134M 0 0 6246k 0 0:00:37 0:00:22 0:00:15 7835k 61 231M 61 142M 0 0 6336k 0 0:00:37 0:00:23 0:00:14 8041k 64 231M 64 150M 0 0 6381k 0 0:00:37 0:00:24 0:00:13 7939k 67 231M 67 157M 0 0 6406k 0 0:00:36 0:00:25 0:00:11 7709k 70 231M 70 163M 0 0 6405k 0 0:00:36 0:00:26 0:00:10 7412k 73 231M 73 169M 0 0 6417k 0 0:00:36 0:00:27 0:00:09 7169k 76 231M 76 176M 0 0 6419k 0 0:00:36 0:00:28 0:00:08 6800k 78 231M 78 181M 0 0 6390k 0 0:00:37 0:00:29 0:00:08 6430k 80 231M 80 186M 0 0 6352k 0 0:00:37 0:00:30 0:00:07 6080k 82 231M 82 191M 0 0 6321k 0 0:00:37 0:00:31 0:00:06 5881k 84 231M 84 196M 0 0 6260k 0 0:00:37 0:00:32 0:00:05 5414k 87 231M 87 201M 0 0 6231k 0 0:00:38 0:00:33 0:00:05 5178k 89 231M 89 206M 0 0 6210k 0 0:00:38 0:00:34 0:00:04 5170k 91 231M 91 211M 0 0 6184k 0 0:00:38 0:00:35 0:00:03 5172k 93 231M 93 217M 0 0 6159k 0 0:00:38 0:00:36 0:00:02 5153k 95 231M 95 221M 0 0 6104k 0 0:00:38 0:00:37 0:00:01 5100k 97 231M 97 225M 0 0 6072k 0 0:00:39 0:00:38 0:00:01 5019k 99 231M 99 229M 0 0 6025k 0 0:00:39 0:00:39 --:--:-- 4762k 100 231M 100 231M 0 0 6012k 0 0:00:39 0:00:39 --:--:-- 4618k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:19:47 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:19:47 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:19:47 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:19:47 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:19:50 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xdg/2024-04-10-04_26_26.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xdg/2024-04-10-04_26_26.log new file mode 100644 index 00000000..44716beb --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xdg/2024-04-10-04_26_26.log @@ -0,0 +1,649 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 04:26:26 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:26:27 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:26:42 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 04:26:43 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 12 20.8M 12 2617k 0 0 2298k 0 0:00:09 0:00:01 0:00:08 2298k 30 20.8M 30 6521k 0 0 3052k 0 0:00:07 0:00:02 0:00:05 3051k 53 20.8M 53 11.1M 0 0 3652k 0 0:00:05 0:00:03 0:00:02 3651k 78 20.8M 78 16.3M 0 0 4052k 0 0:00:05 0:00:04 0:00:01 4052k 100 20.8M 100 20.8M 0 0 4186k 0 0:00:05 0:00:05 --:--:-- 4427k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 04:26:49 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 04:26:49 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct-xthead +gnu-plct +llvm-upstream +gnu-plct-rv64ilp32-elf +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' '!' -z ' - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ']' ++ pkgname=gnu-plct-xthead ++ break ++ '[' -z gnu-plct-xthead ']' ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sour +ces-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 294M 0 713k 0 0 732k 0 0:06:52 --:--:-- 0:06:52 732k 0 294M 0 2089k 0 0 1057k 0 0:04:45 0:00:01 0:04:44 1057k 1 294M 1 3401k 0 0 1144k 0 0:04:23 0:00:02 0:04:21 1144k 1 294M 1 5321k 0 0 1339k 0 0:03:45 0:00:03 0:03:42 1339k 2 294M 2 7769k 0 0 1562k 0 0:03:13 0:00:04 0:03:09 1562k 3 294M 3 9961k 0 0 1667k 0 0:03:01 0:00:05 0:02:56 1850k 3 294M 3 11.6M 0 0 1709k 0 0:02:56 0:00:06 0:02:50 1966k 4 294M 4 13.6M 0 0 1752k 0 0:02:52 0:00:07 0:02:45 2114k 5 294M 5 15.7M 0 0 1796k 0 0:02:48 0:00:08 0:02:40 2160k 5 294M 5 17.1M 0 0 1760k 0 0:02:51 0:00:09 0:02:42 1958k 6 294M 6 18.6M 0 0 1740k 0 0:02:53 0:00:10 0:02:43 1827k 6 294M 6 20.2M 0 0 1729k 0 0:02:54 0:00:11 0:02:43 1758k 7 294M 7 22.1M 0 0 1749k 0 0:02:52 0:00:12 0:02:40 1743k 8 294M 8 24.6M 0 0 1808k 0 0:02:46 0:00:13 0:02:33 1830k 9 294M 9 27.3M 0 0 1871k 0 0:02:41 0:00:14 0:02:27 2092k 10 294M 10 29.8M 0 0 1912k 0 0:02:37 0:00:15 0:02:22 2290k 11 294M 11 32.6M 0 0 1970k 0 0:02:33 0:00:16 0:02:17 2548k 12 294M 12 35.5M 0 0 2027k 0 0:02:28 0:00:17 0:02:11 2749k 13 294M 13 38.3M 0 0 2070k 0 0:02:25 0:00:18 0:02:07 2804k 13 294M 13 40.0M 0 0 2051k 0 0:02:27 0:00:19 0:02:08 2588k 14 294M 14 42.4M 0 0 2073k 0 0:02:25 0:00:20 0:02:05 2589k 15 294M 15 45.1M 0 0 2101k 0 0:02:23 0:00:21 0:02:02 2547k 15 294M 15 47.1M 0 0 2097k 0 0:02:23 0:00:23 0:02:00 2346k 16 294M 16 48.5M 0 0 2072k 0 0:02:25 0:00:23 0:02:02 2080k 16 294M 16 49.8M 0 0 2044k 0 0:02:27 0:00:24 0:02:03 2019k 17 294M 17 51.4M 0 0 2026k 0 0:02:28 0:00:25 0:02:03 1827k 17 294M 17 52.5M 0 0 1992k 0 0:02:31 0:00:26 0:02:05 1514k 18 294M 18 54.1M 0 0 1981k 0 0:02:32 0:00:27 0:02:05 1439k 19 294M 19 56.5M 0 0 1997k 0 0:02:31 0:00:28 0:02:03 1638k 20 294M 20 59.1M 0 0 2021k 0 0:02:29 0:00:29 0:02:00 1903k 20 294M 20 61.5M 0 0 2033k 0 0:02:28 0:00:30 0:01:58 2070k 21 294M 21 63.7M 0 0 2041k 0 0:02:27 0:00:31 0:01:56 2303k 22 294M 22 65.9M 0 0 2046k 0 0:02:27 0:00:32 0:01:55 2411k 23 294M 23 67.8M 0 0 2044k 0 0:02:27 0:00:33 0:01:54 2313k 23 294M 23 69.4M 0 0 2032k 0 0:02:28 0:00:34 0:01:54 2101k 24 294M 24 71.3M 0 0 2031k 0 0:02:28 0:00:35 0:01:53 2016k 24 294M 24 73.4M 0 0 2033k 0 0:02:28 0:00:36 0:01:52 1980k 25 294M 25 75.7M 0 0 2041k 0 0:02:27 0:00:37 0:01:50 2011k 26 294M 26 77.7M 0 0 2041k 0 0:02:27 0:00:38 0:01:49 2025k 27 294M 27 79.8M 0 0 2044k 0 0:02:27 0:00:39 0:01:48 2125k 27 294M 27 82.1M 0 0 2052k 0 0:02:27 0:00:40 0:01:47 2205k 28 294M 28 83.9M 0 0 2047k 0 0:02:27 0:00:41 0:01:46 2150k 29 294M 29 85.7M 0 0 2043k 0 0:02:27 0:00:42 0:01:45 2057k 29 294M 29 87.6M 0 0 2042k 0 0:02:27 0:00:43 0:01:44 2043k 30 294M 30 90.4M 0 0 2060k 0 0:02:26 0:00:44 0:01:42 2185k 31 294M 31 94.1M 0 0 2096k 0 0:02:24 0:00:45 0:01:39 2454k 33 294M 33 98.5M 0 0 2148k 0 0:02:20 0:00:46 0:01:34 2998k 35 294M 35 103M 0 0 2212k 0 0:02:16 0:00:47 0:01:29 3661k 36 294M 36 108M 0 0 2270k 0 0:02:12 0:00:48 0:01:24 4279k 38 294M 38 113M 0 0 2315k 0 0:02:10 0:00:49 0:01:21 4617k 40 294M 40 118M 0 0 2377k 0 0:02:06 0:00:50 0:01:16 4970k 41 294M 41 123M 0 0 2430k 0 0:02:04 0:00:51 0:01:13 5074k 43 294M 43 127M 0 0 2457k 0 0:02:02 0:00:52 0:01:10 4803k 44 294M 44 130M 0 0 2481k 0 0:02:01 0:00:53 0:01:08 4553k 45 294M 45 135M 0 0 2521k 0 0:01:59 0:00:54 0:01:05 4573k 47 294M 47 140M 0 0 2576k 0 0:01:57 0:00:55 0:01:02 4597k 49 294M 49 147M 0 0 2644k 0 0:01:54 0:00:56 0:00:58 4870k 52 294M 52 154M 0 0 2724k 0 0:01:50 0:00:57 0:00:53 5558k 54 294M 54 162M 0 0 2813k 0 0:01:47 0:00:58 0:00:49 6389k 57 294M 57 170M 0 0 2911k 0 0:01:43 0:00:59 0:00:44 7195k 60 294M 60 177M 0 0 2982k 0 0:01:41 0:01:00 0:00:41 7523k 62 294M 62 185M 0 0 3057k 0 0:01:38 0:01:01 0:00:37 7771k 64 294M 64 190M 0 0 3104k 0 0:01:37 0:01:02 0:00:35 7523k 66 294M 66 195M 0 0 3135k 0 0:01:36 0:01:03 0:00:33 6939k 68 294M 68 201M 0 0 3168k 0 0:01:35 0:01:04 0:00:31 6255k 69 294M 69 205M 0 0 3191k 0 0:01:34 0:01:05 0:00:29 5742k 71 294M 71 211M 0 0 3230k 0 0:01:33 0:01:06 0:00:27 5364k 73 294M 73 217M 0 0 3277k 0 0:01:32 0:01:07 0:00:25 5453k 76 294M 76 224M 0 0 3336k 0 0:01:30 0:01:08 0:00:22 5907k 78 294M 78 232M 0 0 3404k 0 0:01:28 0:01:09 0:00:19 6467k 81 294M 81 241M 0 0 3482k 0 0:01:26 0:01:10 0:00:16 7329k 85 294M 85 250M 0 0 3569k 0 0:01:24 0:01:11 0:00:13 8108k 87 294M 87 258M 0 0 3624k 0 0:01:23 0:01:12 0:00:11 8329k 89 294M 89 263M 0 0 3653k 0 0:01:22 0:01:13 0:00:09 8022k 91 294M 91 270M 0 0 3689k 0 0:01:21 0:01:14 0:00:07 7680k 93 294M 93 276M 0 0 3731k 0 0:01:20 0:01:15 0:00:05 7264k 96 294M 96 284M 0 0 3791k 0 0:01:19 0:01:16 0:00:03 6988k 99 294M 99 293M 0 0 3859k 0 0:01:18 0:01:17 0:00:01 7290k 100 294M 100 294M 0 0 3866k 0 0:01:18 0:01:18 --:--:-- 7715k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/riscv64/gnu-plct-xthead +-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct-xthead ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-xthead-2.8.0-ruyi.20240222 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:30:40 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:30:40 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:30:40 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:30:41 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:30:41 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_56_55.log b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_56_55.log new file mode 100644 index 00000000..f407b65e --- /dev/null +++ b/20240408/logs/revyos_riscv64_container/ruyi/ruyi_test_xthead_qemu/2024-04-10-03_56_55.log @@ -0,0 +1,314 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:56:55 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 03:56:56 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 03:57:11 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 03:57:12 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 20.8M 1 304k 0 0 224k 0 0:01:35 0:00:01 0:01:34 224k 2 20.8M 2 592k 0 0 250k 0 0:01:25 0:00:02 0:01:23 250k 3 20.8M 3 767k 0 0 229k 0 0:01:33 0:00:03 0:01:30 229k 4 20.8M 4 1023k 0 0 235k 0 0:01:30 0:00:04 0:01:26 235k 6 20.8M 6 1456k 0 0 271k 0 0:01:18 0:00:05 0:01:13 290k 9 20.8M 9 2000k 0 0 313k 0 0:01:08 0:00:06 0:01:02 337k 10 20.8M 10 2320k 0 0 314k 0 0:01:07 0:00:07 0:01:00 345k 12 20.8M 12 2640k 0 0 316k 0 0:01:07 0:00:08 0:00:59 374k 13 20.8M 13 2847k 0 0 304k 0 0:01:10 0:00:09 0:01:01 364k 13 20.8M 13 2943k 0 0 284k 0 0:01:15 0:00:10 0:01:05 297k 15 20.8M 15 3327k 0 0 293k 0 0:01:12 0:00:11 0:01:01 267k 19 20.8M 19 4240k 0 0 343k 0 0:01:02 0:00:12 0:00:50 385k 22 20.8M 22 4799k 0 0 359k 0 0:00:59 0:00:13 0:00:46 432k 25 20.8M 25 5488k 0 0 382k 0 0:00:55 0:00:14 0:00:41 528k 27 20.8M 27 5951k 0 0 387k 0 0:00:55 0:00:15 0:00:40 603k 29 20.8M 29 6384k 0 0 390k 0 0:00:54 0:00:16 0:00:38 611k 31 20.8M 31 6751k 0 0 389k 0 0:00:54 0:00:17 0:00:37 501k 33 20.8M 33 7152k 0 0 389k 0 0:00:54 0:00:18 0:00:36 469k 35 20.8M 35 7536k 0 0 389k 0 0:00:54 0:00:19 0:00:35 409k 37 20.8M 37 7984k 0 0 392k 0 0:00:54 0:00:20 0:00:34 405k 38 20.8M 38 8319k 0 0 389k 0 0:00:54 0:00:21 0:00:33 386k 40 20.8M 40 8671k 0 0 388k 0 0:00:55 0:00:22 0:00:33 384k 42 20.8M 42 9072k 0 0 388k 0 0:00:55 0:00:23 0:00:32 384k 44 20.8M 44 9552k 0 0 392k 0 0:00:54 0:00:24 0:00:30 402k 46 20.8M 46 9936k 0 0 391k 0 0:00:54 0:00:25 0:00:29 389k 48 20.8M 48 10.0M 0 0 391k 0 0:00:54 0:00:26 0:00:28 397k 50 20.8M 50 10.4M 0 0 391k 0 0:00:54 0:00:27 0:00:27 406k 51 20.8M 51 10.7M 0 0 388k 0 0:00:55 0:00:28 0:00:27 386k 53 20.8M 53 11.0M 0 0 386k 0 0:00:55 0:00:29 0:00:26 358k 54 20.8M 54 11.3M 0 0 384k 0 0:00:55 0:00:30 0:00:25 346k 56 20.8M 56 11.7M 0 0 382k 0 0:00:55 0:00:31 0:00:24 335k 57 20.8M 57 11.9M 0 0 379k 0 0:00:56 0:00:32 0:00:24 313k 59 20.8M 59 12.4M 0 0 382k 0 0:00:55 0:00:33 0:00:22 348k 61 20.8M 61 12.7M 0 0 381k 0 0:00:56 0:00:34 0:00:22 350k 62 20.8M 62 13.0M 0 0 379k 0 0:00:56 0:00:35 0:00:21 348k 64 20.8M 64 13.4M 0 0 379k 0 0:00:56 0:00:36 0:00:20 359k 66 20.8M 66 13.8M 0 0 379k 0 0:00:56 0:00:37 0:00:19 384k 68 20.8M 68 14.3M 0 0 383k 0 0:00:55 0:00:38 0:00:17 393k 70 20.8M 70 14.7M 0 0 382k 0 0:00:55 0:00:39 0:00:16 391k 73 20.8M 73 15.2M 0 0 387k 0 0:00:55 0:00:40 0:00:15 449k 76 20.8M 76 15.9M 0 0 396k 0 0:00:53 0:00:41 0:00:12 520k 79 20.8M 79 16.5M 0 0 400k 0 0:00:53 0:00:42 0:00:11 553k 81 20.8M 81 17.0M 0 0 402k 0 0:00:53 0:00:43 0:00:10 549k 84 20.8M 84 17.6M 0 0 408k 0 0:00:52 0:00:44 0:00:08 611k 87 20.8M 87 18.1M 0 0 410k 0 0:00:52 0:00:45 0:00:07 592k 88 20.8M 88 18.4M 0 0 407k 0 0:00:52 0:00:46 0:00:06 502k 88 20.8M 88 18.5M 0 0 401k 0 0:00:53 0:00:47 0:00:06 407k 89 20.8M 89 18.6M 0 0 393k 0 0:00:54 0:00:48 0:00:06 318k 89 20.8M 89 18.7M 0 0 388k 0 0:00:54 0:00:49 0:00:05 217k 90 20.8M 90 18.8M 0 0 383k 0 0:00:55 0:00:50 0:00:05 137k 90 20.8M 90 18.9M 0 0 377k 0 0:00:56 0:00:51 0:00:05 98205 91 20.8M 91 19.1M 0 0 374k 0 0:00:57 0:00:52 0:00:05 116k 93 20.8M 93 19.4M 0 0 373k 0 0:00:57 0:00:53 0:00:04 169k 94 20.8M 94 19.7M 0 0 371k 0 0:00:57 0:00:54 0:00:03 198k 96 20.8M 96 20.1M 0 0 373k 0 0:00:57 0:00:55 0:00:02 271k 98 20.8M 98 20.5M 0 0 372k 0 0:00:57 0:00:56 0:00:01 326k 99 20.8M 99 20.8M 0 0 372k 0 0:00:57 0:00:57 --:--:-- 351k 100 20.8M 100 20.8M 0 0 372k 0 0:00:57 0:00:57 --:--:-- 365k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:58:10 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:58:10 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -n '' ']' ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 294M 0 33742 0 0 22075 0 3:53:24 0:00:01 3:53:23 22068 0 294M 0 98366 0 0 39373 0 2:10:51 0:00:02 2:10:49 39377 0 294M 0 160k 0 0 46485 0 1:50:50 0:00:03 1:50:47 46483 0 294M 0 240k 0 0 54564 0 1:34:25 0:00:04 1:34:21 54558 0 294M 0 336k 0 0 62376 0 1:22:36 0:00:05 1:22:31 71503 0 294M 0 480k 0 0 75482 0 1:08:15 0:00:06 1:08:09 91843 0 294M 0 592k 0 0 81001 0 1:03:36 0:00:07 1:03:29 99k 0 294M 0 768k 0 0 92724 0 0:55:34 0:00:08 0:55:26 122k 0 294M 0 912k 0 0 98255 0 0:52:26 0:00:09 0:52:17 134k 0 294M 0 976k 0 0 95138 0 0:54:09 0:00:10 0:53:59 128k 0 294M 0 1008k 0 0 89786 0 0:57:23 0:00:11 0:57:12 105k 0 294M 0 1104k 0 0 90401 0 0:56:59 0:00:12 0:56:47 101k 0 294M 0 1168k 0 0 88586 0 0:58:09 0:00:13 0:57:56 81597 0 294M 0 1232k 0 0 87030 0 0:59:12 0:00:14 0:58:58 65641 0 294M 0 1280k 0 0 83798 0 1:01:29 0:00:15 1:01:14 60607 0 294M 0 1312k 0 0 81253 0 1:03:24 0:00:16 1:03:08 61786 0 294M 0 1344k 0 0 78409 0 1:05:42 0:00:17 1:05:25 48700 0 294M 0 1408k 0 0 77965 0 1:06:05 0:00:18 1:05:47 49227 0 294M 0 1456k 0 0 75239 0 1:08:28 0:00:19 1:08:09 43115 0 294M 0 1536k 0 0 76684 0 1:07:11 0:00:20 1:06:51 53828 0 294M 0 1760k 0 0 83887 0 1:01:25 0:00:21 1:01:04 92677 0 294M 0 1952k 0 0 88904 0 0:57:57 0:00:22 0:57:35 123k 0 294M 0 2032k 0 0 88606 0 0:58:09 0:00:23 0:57:46 125k 0 294M 0 2080k 0 0 85666 0 1:00:08 0:00:24 0:59:44 123k 0 294M 0 2080k 0 0 82330 0 1:02:35 0:00:25 1:02:10 101k 0 294M 0 2080k 0 0 79245 0 1:05:01 0:00:26 1:04:35 60760 0 294M 0 2080k 0 0 76360 0 1:07:28 0:00:27 1:07:01 24227 0 294M 0 2080k 0 0 73699 0 1:09:54 0:00:28 1:09:26 9072 0 294M 0 2080k 0 0 71217 0 1:12:21 0:00:29 1:11:52 0 0 294M 0 2080k 0 0 68896 0 1:14:47 0:00:30 1:14:17 0 0 294M 0 2080k 0 0 66723 0 1:17:13 0:00:31 1:16:42 0 0 294M 0 2080k 0 0 64666 0 1:19:40 0:00:32 1:19:08 0 0 294M 0 2080k 0 0 62748 0 1:22:06 0:00:33 1:21:33 0 0 294M 0 2080k 0 0 60939 0 1:24:33 0:00:34 1:23:59 0 0 294M 0 2080k 0 0 59231 0 1:26:59 0:00:35 1:26:24 0 0 294M 0 2080k 0 0 57617 0 1:29:25 0:00:36 1:28:49 0 0 294M 0 2080k 0 0 56084 0 1:31:52 0:00:37 1:31:15 0 0 294M 0 2080k 0 0 54636 0 1:34:18 0:00:38 1:33:40 0 0 294M 0 2080k 0 0 53260 0 1:36:44 0:00:39 1:36:05 0 0 294M 0 2080k 0 0 51952 0 1:39:10 0:00:40 1:38:30 0 0 294M 0 2080k 0 0 50706 0 1:41:36 0:00:42 1:40:54 0 0 294M 0 2080k 0 0 49511 0 1:44:04 0:00:43 1:43:21 0 0 294M 0 2080k 0 0 48377 0 1:46:30 0:00:44 1:45:46 0 0 294M 0 2080k 0 0 47294 0 1:48:56 0:00:45 1:48:11 0 0 294M 0 2080k 0 0 46259 0 1:51:23 0:00:46 1:50:37 0 0 294M 0 2080k 0 0 45269 0 1:53:49 0:00:47 1:53:02 0 0 294M 0 2080k 0 0 44314 0 1:56:16 0:00:48 1:55:28 0 0 294M 0 2080k 0 0 43405 0 1:58:42 0:00:49 1:57:53 0 0 294M 0 2080k 0 0 42533 0 2:01:08 0:00:50 2:00:18 0 0 294M 0 2080k 0 0 41694 0 2:03:34 0:00:51 2:02:43 0 0 294M 0 2080k 0 0 40888 0 2:06:00 0:00:52 2:05:08 0 0 294M 0 2080k 0 0 40107 0 2:08:28 0:00:53 2:07:35 0 0 294M 0 2080k 0 0 39361 0 2:10:54 0:00:54 2:10:00 0 0 294M 0 2080k 0 0 38642 0 2:13:20 0:00:55 2:12:25 0 0 294M 0 2080k 0 0 37948 0 2:15:46 0:00:56 2:14:50 0 0 294M 0 2080k 0 0 37279 0 2:18:12 0:00:57 2:17:15 0 0 294M 0 2080k 0 0 36628 0 2:20:40 0:00:58 2:19:42 0 0 294M 0 2080k 0 0 36005 0 2:23:06 0:00:59 2:22:07 0 0 294M 0 2080k 0 0 35498 0 2:25:09 0:01:00 2:24:09 0 0 294M 0 2080k 0 0 34912 0 2:27:35 0:01:01 2:26:34 0 0 294M 0 2080k 0 0 34348 0 2:30:00 0:01:02 2:28:58 0 0 294M 0 2080k 0 0 33799 0 2:32:26 0:01:03 2:31:23 0 0 294M 0 2080k 0 0 33267 0 2:34:53 0:01:04 2:33:49 0 0 294M 0 2080k 0 0 32752 0 2:37:19 0:01:05 2:36:14 0 0 294M 0 2080k 0 0 32252 0 2:39:45 0:01:06 2:38:39 0 0 294M 0 2080k 0 0 31768 0 2:42:11 0:01:07 2:41:04 0 0 294M 0 2080k 0 0 31298 0 2:44:37 0:01:08 2:43:29 0 0 294M 0 2080k 0 0 30838 0 2:47:05 0:01:09 2:45:56 0 0 294M 0 2080k 0 0 30394 0 2:49:31 0:01:10 2:48:21 0 0 294M 0 2080k 0 0 29963 0 2:51:57 0:01:11 2:50:46 0 0 294M 0 2080k 0 0 29544 0 2:54:24 0:01:12 2:53:12 0 0 294M 0 2080k 0 0 29137 0 2:56:50 0:01:13 2:55:37 0 0 294M 0 2080k 0 0 28739 0 2:59:17 0:01:14 2:58:03 0 0 294M 0 2080k 0 0 28355 0 3:01:42 0:01:15 3:00:27 0 0 294M 0 2080k 0 0 27980 0 3:04:09 0:01:16 3:02:53 0 0 294M 0 2080k 0 0 27614 0 3:06:35 0:01:17 3:05:18 0 0 294M 0 2080k 0 0 27259 0 3:09:01 0:01:18 3:07:43 0 0 294M 0 2080k 0 0 26909 0 3:11:28 0:01:19 3:10:09 0 0 294M 0 2080k 0 0 26571 0 3:13:54 0:01:20 3:12:34 0 0 294M 0 2080k 0 0 26241 0 3:16:21 0:01:21 3:15:00 0 0 294M 0 2080k 0 0 25920 0 3:18:47 0:01:22 3:17:25 0 0 294M 0 2080k 0 0 25606 0 3:21:13 0:01:23 3:19:50 0 0 294M 0 2080k 0 0 25298 0 3:23:40 0:01:24 3:22:16 0 0 294M 0 2080k 0 0 24999 0 3:26:06 0:01:25 3:24:41 0 0 294M 0 2080k 0 0 24707 0 3:28:32 0:01:26 3:27:06 0 0 294M 0 2080k 0 0 24421 0 3:30:59 0:01:27 3:29:32 0 0 294M 0 2080k 0 0 24143 0 3:33:25 0:01:28 3:31:57 0 0 294M 0 2080k 0 0 23868 0 3:35:52 0:01:29 3:34:23 0 0 294M 0 2080k 0 0 23602 0 3:38:18 0:01:30 3:36:48 0 0 294M 0 2080k 0 0 23341 0 3:40:45 0:01:31 3:39:14 0 0 294M 0 2080k 0 0 23086 0 3:43:11 0:01:32 3:41:39 0 0 294M 0 2080k 0 0 22837 0 3:45:37 0:01:33 3:44:04 0 0 294M 0 2080k 0 0 22591 0 3:48:04 0:01:34 3:46:30 0 0 294M 0 2080k 0 0 22352 0 3:50:31 0:01:35 3:48:56 0 0 294M 0 2080k 0 0 22118 0 3:52:57 0:01:36 3:51:21 0 0 294M 0 2080k 0 0 21889 0 3:55:23 0:01:37 3:53:46 0 0 294M 0 2080k 0 0 21665 0 3:57:49 0:01:38 3:56:11 0 0 294M 0 2080k 0 0 21440 0 4:00:19 0:01:39 3:58:40 0 0 294M 0 2080k 0 0 21225 0 4:02:45 0:01:40 4:01:05 0 0 294M 0 2080k 0 0 21014 0 4:05:11 0:01:41 4:03:30 0 0 294M 0 2080k 0 0 20807 0 4:07:38 0:01:42 4:05:56 0 0 294M 0 2080k 0 0 20604 0 4:10:04 0:01:43 4:08:21 0 0 294M 0 2080k 0 0 20404 0 4:12:31 0:01:44 4:10:47 0 0 294M 0 2080k 0 0 20209 0 4:14:57 0:01:45 4:13:12 0 0 294M 0 2080k 0 0 20018 0 4:17:23 0:01:46 4:15:37 0 0 294M 0 2080k 0 0 19830 0 4:19:50 0:01:47 4:18:03 0 0 294M 0 2080k 0 0 19646 0 4:22:16 0:01:48 4:20:28 0 0 294M 0 2080k 0 0 19465 0 4:24:42 0:01:49 4:22:53 0 0 294M 0 2080k 0 0 19288 0 4:27:08 0:01:50 4:25:18 0 0 294M 0 2080k 0 0 19114 0 4:29:34 0:01:51 4:27:43 0 0 294M 0 2080k 0 0 18942 0 4:32:01 0:01:52 4:30:09 0 0 294M 0 2080k 0 0 18773 0 4:34:27 0:01:53 4:32:34 0 0 294M 0 2080k 0 0 18608 0 4:36:54 0:01:54 4:35:00 0 0 294M 0 2080k 0 0 18446 0 4:39:19 0:01:55 4:37:24 0 0 294M 0 2080k 0 0 18286 0 4:41:46 0:01:56 4:39:50 0 0 294M 0 2080k 0 0 18285 0 4:41:47 0:01:56 4:39:51 0 0 294M 0 2080k 0 0 18128 0 4:44:13 0:01:57 4:42:16 0 0 294M 0 2080k 0 0 17973 0 4:46:40 0:01:58 4:44:42 0 0 294M 0 2080k 0 0 17821 0 4:49:07 0:01:59 4:47:08 0 0 294M 0 2080k 0 0 17673 0 4:51:32 0:02:00 4:49:32 0 0 294M 0 2080k 0 0 17526 0 4:53:59 0:02:01 4:51:58 0 0 294M 0 2080k 0 0 17382 0 4:56:25 0:02:02 4:54:23 0 0 294M 0 2080k 0 0 17240 0 4:58:52 0:02:03 4:56:49 0 0 294M 0 2080k 0 0 17101 0 5:01:18 0:02:04 4:59:14 0 0 294M 0 2080k 0 0 16963 0 5:03:45 0:02:05 5:01:40 0 0 294M 0 2080k 0 0 16828 0 5:06:11 0:02:06 5:04:05 0 0 294M 0 2080k 0 0 16696 0 5:08:36 0:02:07 5:06:29 0 0 294M 0 2080k 0 0 16564 0 5:11:04 0:02:08 5:08:56 0 0 294M 0 2080k 0 0 16435 0 5:13:30 0:02:09 5:11:21 0 0 294M 0 2080k 0 0 16309 0 5:15:56 0:02:10 5:13:46 0 0 294M 0 2080k 0 0 16184 0 5:18:22 0:02:11 5:16:11 0 0 294M 0 2080k 0 0 16061 0 5:20:48 0:02:12 5:18:36 0 0 294M 0 2080k 0 0 15940 0 5:23:14 0:02:13 5:21:01 0 0 294M 0 2080k 0 0 15821 0 5:25:40 0:02:14 5:23:26 0 0 294M 0 2080k 0 0 15704 0 5:28:06 0:02:15 5:25:51 0 0 294M 0 2080k 0 0 15588 0 5:30:32 0:02:16 5:28:16 0 0 294M 0 2080k 0 0 15474 0 5:32:58 0:02:17 5:30:41 0 0 294M 0 2080k 0 0 15361 0 5:35:25 0:02:18 5:33:07 0 0 294M 0 2080k 0 0 15251 0 5:37:51 0:02:19 5:35:32 0 0 294M 0 2080k 0 0 15142 0 5:40:16 0:02:20 5:37:56 0 0 294M 0 2080k 0 0 15034 0 5:42:43 0:02:21 5:40:22 0 0 294M 0 2080k 0 0 14928 0 5:45:09 0:02:22 5:42:47 0 0 294M 0 2080k 0 0 14823 0 5:47:36 0:02:23 5:45:13 0 0 294M 0 2080k 0 0 14719 0 5:50:03 0:02:24 5:47:39 0 0 294M 0 2080k 0 0 14618 0 5:52:28 0:02:25 5:50:03 0 0 294M 0 2080k 0 0 14517 0 5:54:55 0:02:26 5:52:29 0 0 294M 0 2080k 0 0 14418 0 5:57:22 0:02:27 5:54:55 0 0 294M 0 2080k 0 0 14320 0 5:59:48 0:02:28 5:57:20 0 0 294M 0 2080k 0 0 14224 0 6:02:14 0:02:29 5:59:45 0 0 294M 0 2080k 0 0 14128 0 6:04:42 0:02:30 6:02:12 0 0 294M 0 2080k 0 0 14035 0 6:07:07 0:02:31 6:04:36 0 0 294M 0 2080k 0 0 13942 0 6:09:34 0:02:32 6:07:02 0 0 294M 0 2080k 0 0 13850 0 6:12:01 0:02:33 6:09:28 0 0 294M 0 2080k 0 0 13760 0 6:14:27 0:02:34 6:11:53 0 0 294M 0 2080k 0 0 13671 0 6:16:53 0:02:35 6:14:18 0 0 294M 0 2080k 0 0 13584 0 6:19:18 0:02:36 6:16:42 0 0 294M 0 2080k 0 0 13497 0 6:21:45 0:02:37 6:19:08 0 0 294M 0 2080k 0 0 13411 0 6:24:12 0:02:38 6:21:34 0 0 294M 0 2080k 0 0 13327 0 6:26:37 0:02:39 6:23:58 0 0 294M 0 2080k 0 0 13243 0 6:29:04 0:02:40 6:26:24 0 0 294M 0 2080k 0 0 13161 0 6:31:30 0:02:41 6:28:49 0 0 294M 0 2080k 0 0 13080 0 6:33:55 0:02:42 6:31:13 0 0 294M 0 2080k 0 0 12999 0 6:36:22 0:02:43 6:33:39 0 0 294M 0 2080k 0 0 12919 0 6:38:50 0:02:44 6:36:06 0 0 294M 0 2080k 0 0 12841 0 6:41:15 0:02:45 6:38:30 0 0 294M 0 2080k 0 0 12763 0 6:43:42 0:02:46 6:40:56 0 0 294M 0 2080k 0 0 12687 0 6:46:07 0:02:47 6:43:20 0 0 294M 0 2080k 0 0 12611 0 6:48:34 0:02:48 6:45:46 0 0 294M 0 2080k 0 0 12536 0 6:51:01 0:02:49 6:48:12 0 0 294M 0 2080k 0 0 12462 0 6:53:27 0:02:50 6:50:37 0 0 294M 0 2080k 0 0 12389 0 6:55:53 0:02:51 6:53:02 0 0 294M 0 2080k 0 0 12317 0 6:58:19 0:02:52 6:55:27 0 0 294M 0 2080k 0 0 12246 0 7:00:45 0:02:53 6:57:52 0 0 294M 0 2080k 0 0 12175 0 7:03:12 0:02:54 7:00:18 0 0 294M 0 2080k 0 0 12105 0 7:05:39 0:02:55 7:02:44 0 0 294M 0 2080k 0 0 12036 0 7:08:05 0:02:56 7:05:09 0 0 294M 0 2080k 0 0 11968 0 7:10:31 0:02:57 7:07:34 0 0 294M 0 2080k 0 0 11934 0 7:11:45 0:02:58 7:08:47 0 +curl: (18) HTTP/2 stream 1 was not closed cleanly before end of the underlying stream +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz' returned 18 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 294M 0 2217k 0 0 2353k 0 0:02:08 --:--:-- 0:02:08 2354k 2 294M 2 6393k 0 0 3289k 0 0:01:31 0:00:01 0:01:30 3290k 3 294M 3 10.7M 0 0 3742k 0 0:01:20 0:00:02 0:01:18 3742k 4 294M 4 14.4M 0 0 3748k 0 0:01:20 0:00:03 0:01:17 3748k 6 294M 6 18.9M 0 0 3919k 0 0:01:17 0:00:04 0:01:13 3919k 8 294M 8 23.7M 0 0 4085k 0 0:01:13 0:00:05 0:01:08 4411k 9 294M 9 29.3M 0 0 4336k 0 0:01:09 0:00:06 0:01:03 4743k 12 294M 12 35.7M 0 0 4612k 0 0:01:05 0:00:07 0:00:58 5125k 14 294M 14 42.3M 0 0 4846k 0 0:01:02 0:00:08 0:00:54 5712k 16 294M 16 48.1M 0 0 4952k 0 0:01:00 0:00:09 0:00:51 5970k 18 294M 18 53.1M 0 0 4969k 0 0:01:00 0:00:10 0:00:50 6020k 19 294M 19 56.9M 0 0 4885k 0 0:01:01 0:00:11 0:00:50 5648k 20 294M 20 61.0M 0 0 4828k 0 0:01:02 0:00:12 0:00:50 5172k 22 294M 22 64.9M 0 0 4769k 0 0:01:03 0:00:13 0:00:50 4632k 23 294M 23 69.4M 0 0 4759k 0 0:01:03 0:00:14 0:00:49 4371k 25 294M 25 74.5M 0 0 4790k 0 0:01:03 0:00:15 0:00:48 4399k 26 294M 26 79.2M 0 0 4787k 0 0:01:03 0:00:16 0:00:47 4553k 28 294M 28 84.1M 0 0 4799k 0 0:01:02 0:00:17 0:00:45 4726k 30 294M 30 89.6M 0 0 4843k 0 0:01:02 0:00:18 0:00:44 5048k 32 294M 32 94.5M 0 0 4857k 0 0:01:02 0:00:19 0:00:43 5148k 33 294M 33 99.7M 0 0 4876k 0 0:01:01 0:00:20 0:00:41 5148k 35 294M 35 104M 0 0 4874k 0 0:01:01 0:00:21 0:00:40 5171k 37 294M 37 109M 0 0 4867k 0 0:01:02 0:00:22 0:00:40 5108k 38 294M 38 113M 0 0 4856k 0 0:01:02 0:00:23 0:00:39 4908k 40 294M 40 118M 0 0 4851k 0 0:01:02 0:00:24 0:00:38 4828k 41 294M 41 123M 0 0 4880k 0 0:01:01 0:00:25 0:00:36 4896k 43 294M 43 128M 0 0 4892k 0 0:01:01 0:00:26 0:00:35 4967k 45 294M 45 133M 0 0 4898k 0 0:01:01 0:00:27 0:00:34 5041k 47 294M 47 139M 0 0 4927k 0 0:01:01 0:00:28 0:00:33 5265k 49 294M 49 145M 0 0 4969k 0 0:01:00 0:00:29 0:00:31 5561k 51 294M 51 152M 0 0 5033k 0 0:00:59 0:00:30 0:00:29 5827k 53 294M 53 158M 0 0 5091k 0 0:00:59 0:00:31 0:00:28 6165k 56 294M 56 165M 0 0 5135k 0 0:00:58 0:00:32 0:00:26 6462k 58 294M 58 172M 0 0 5189k 0 0:00:58 0:00:33 0:00:25 6710k 60 294M 60 179M 0 0 5257k 0 0:00:57 0:00:34 0:00:23 6979k 63 294M 63 186M 0 0 5317k 0 0:00:56 0:00:35 0:00:21 7063k 65 294M 65 193M 0 0 5351k 0 0:00:56 0:00:36 0:00:20 7018k 67 294M 67 198M 0 0 5364k 0 0:00:56 0:00:37 0:00:19 6871k 69 294M 69 203M 0 0 5359k 0 0:00:56 0:00:38 0:00:18 6509k 71 294M 71 209M 0 0 5367k 0 0:00:56 0:00:39 0:00:17 6132k 72 294M 72 214M 0 0 5375k 0 0:00:56 0:00:40 0:00:16 5798k 74 294M 74 220M 0 0 5377k 0 0:00:56 0:00:41 0:00:15 5570k 76 294M 76 225M 0 0 5365k 0 0:00:56 0:00:42 0:00:14 5372k 77 294M 77 229M 0 0 5346k 0 0:00:56 0:00:43 0:00:13 5245k 78 294M 78 232M 0 0 5293k 0 0:00:57 0:00:44 0:00:13 4707k 79 294M 79 235M 0 0 5246k 0 0:00:57 0:00:45 0:00:12 4185k 81 294M 81 239M 0 0 5214k 0 0:00:57 0:00:46 0:00:11 3845k 82 294M 82 243M 0 0 5195k 0 0:00:58 0:00:47 0:00:11 3731k 83 294M 83 247M 0 0 5171k 0 0:00:58 0:00:48 0:00:10 3637k 85 294M 85 251M 0 0 5163k 0 0:00:58 0:00:49 0:00:09 3993k 87 294M 87 257M 0 0 5177k 0 0:00:58 0:00:50 0:00:08 4543k 89 294M 89 263M 0 0 5188k 0 0:00:58 0:00:51 0:00:07 4942k 91 294M 91 268M 0 0 5191k 0 0:00:58 0:00:52 0:00:06 5158k 92 294M 92 273M 0 0 5196k 0 0:00:58 0:00:53 0:00:05 5440k 94 294M 94 278M 0 0 5194k 0 0:00:58 0:00:54 0:00:04 5509k 96 294M 96 283M 0 0 5186k 0 0:00:58 0:00:55 0:00:03 5281k 97 294M 97 288M 0 0 5191k 0 0:00:58 0:00:56 0:00:02 5222k 99 294M 99 294M 0 0 5205k 0 0:00:57 0:00:57 --:--:-- 5358k 100 294M 100 294M 0 0 5206k 0 0:00:57 0:00:57 --:--:-- 5343k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n '' ']' ++ '[' -f /etc/revyos-release ']' ++ ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check xthead bin run on revyos failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check xthead bin run on revyos failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 04:04:23 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 04:04:23 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 04:04:23 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 04:04:23 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 04:04:28 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-15_04_08.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-15_04_08.log new file mode 100644 index 00000000..28c71f51 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-15_04_08.log @@ -0,0 +1,207 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 15:04:11 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 15:04:16 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpjr59mfqn ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpjr59mfqn ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpjr59mfqn ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpjr59mfqn +Wed Apr 10 15:07:28 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpjr59mfqn ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 20.8M 1 347k 0 0 221k 0 0:01:36 0:00:01 0:01:35 222k 24 20.8M 24 5163k 0 0 2009k 0 0:00:10 0:00:02 0:00:08 2018k 45 20.8M 45 9739k 0 0 2719k 0 0:00:07 0:00:03 0:00:04 2727k 67 20.8M 67 14.1M 0 0 3154k 0 0:00:06 0:00:04 0:00:02 3161k 97 20.8M 97 20.4M 0 0 3696k 0 0:00:05 0:00:05 --:--:-- 4718k 100 20.8M 100 20.8M 0 0 3739k 0 0:00:05 0:00:05 --:--:-- 5071k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 15:07:36 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 15:07:38 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 15:08:36 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 15:08:36 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 15:08:37 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpjr59mfqn ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjr59mfqn +Wed Apr 10 15:08:42 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjr59mfqn ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjr59mfqn +Wed Apr 10 15:10:08 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 15:10:11 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-15_17_16.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-15_17_16.log new file mode 100644 index 00000000..ee46f476 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-15_17_16.log @@ -0,0 +1,2868 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 15:17:19 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 15:17:24 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpzll4rvks ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpzll4rvks ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpzll4rvks ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpzll4rvks +Wed Apr 10 15:20:29 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpzll4rvks ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 15 20.8M 15 3407k 0 0 1474k 0 0:00:14 0:00:02 0:00:12 1482k 51 20.8M 51 10.6M 0 0 3360k 0 0:00:06 0:00:03 0:00:03 3372k 86 20.8M 86 18.0M 0 0 4311k 0 0:00:04 0:00:04 --:--:-- 4323k 100 20.8M 100 20.8M 0 0 4573k 0 0:00:04 0:00:04 --:--:-- 4875k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 15:20:37 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 15:20:38 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting +objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting +objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting +objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ grep toolchain +++ sed 's/^* toolchain\///' +++ ruyi list ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 224M 0 11584 0 0 7256 0 9:00:29 0:00:01 9:00:28 7308 1 224M 1 3982k 0 0 1616k 0 0:02:22 0:00:02 0:02:20 1624k 4 224M 4 9.9M 0 0 2916k 0 0:01:18 0:00:03 0:01:15 2927k 7 224M 7 16.5M 0 0 3753k 0 0:01:01 0:00:04 0:00:57 3762k 10 224M 10 23.3M 0 0 4350k 0 0:00:52 0:00:05 0:00:47 5602k 13 224M 13 30.7M 0 0 4783k 0 0:00:48 0:00:06 0:00:42 6315k 16 224M 16 37.0M 0 0 5057k 0 0:00:45 0:00:07 0:00:38 6741k 19 224M 19 44.4M 0 0 5308k 0 0:00:43 0:00:08 0:00:35 6960k 23 224M 23 51.7M 0 0 5516k 0 0:00:41 0:00:09 0:00:32 7079k 26 224M 26 59.1M 0 0 5717k 0 0:00:40 0:00:10 0:00:30 7195k 29 224M 29 66.4M 0 0 5915k 0 0:00:38 0:00:11 0:00:27 7423k 33 224M 33 74.9M 0 0 6096k 0 0:00:37 0:00:12 0:00:25 7630k 36 224M 36 82.2M 0 0 6231k 0 0:00:36 0:00:13 0:00:23 7825k 39 224M 39 88.5M 0 0 6272k 0 0:00:36 0:00:14 0:00:22 7766k 42 224M 42 95.9M 0 0 6342k 0 0:00:36 0:00:15 0:00:21 7693k 46 224M 46 103M 0 0 6393k 0 0:00:35 0:00:16 0:00:19 7486k 48 224M 48 109M 0 0 6425k 0 0:00:35 0:00:17 0:00:18 7263k 51 224M 51 116M 0 0 6439k 0 0:00:35 0:00:18 0:00:17 7007k 55 224M 55 123M 0 0 6475k 0 0:00:35 0:00:19 0:00:16 7054k 58 224M 58 130M 0 0 6532k 0 0:00:35 0:00:20 0:00:15 7114k 61 224M 61 138M 0 0 6589k 0 0:00:34 0:00:21 0:00:13 7244k 65 224M 65 146M 0 0 6650k 0 0:00:34 0:00:22 0:00:12 7425k 68 224M 68 154M 0 0 6699k 0 0:00:34 0:00:23 0:00:11 7645k 71 224M 71 161M 0 0 6757k 0 0:00:34 0:00:24 0:00:10 7876k 75 224M 75 169M 0 0 6807k 0 0:00:33 0:00:25 0:00:08 7933k 78 224M 78 177M 0 0 6854k 0 0:00:33 0:00:26 0:00:07 7996k 82 224M 82 185M 0 0 6904k 0 0:00:33 0:00:27 0:00:06 8066k 86 224M 86 194M 0 0 6952k 0 0:00:33 0:00:28 0:00:05 8139k 89 224M 89 201M 0 0 6996k 0 0:00:32 0:00:29 0:00:03 8161k 93 224M 93 209M 0 0 7043k 0 0:00:32 0:00:30 0:00:02 8259k 97 224M 97 218M 0 0 7084k 0 0:00:32 0:00:31 0:00:01 8288k 100 224M 100 224M 0 0 7117k 0 0:00:32 0:00:32 --:--:-- 8358k +info: extracting +RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g +nu.tar.xz for package gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 224M 0 11584 0 0 7256 0 9:00:29 0:00:01 9:00:28 $'7308\r' 1 224M 1 3982k 0 0 1616k 0 0:02:22 0:00:02 0:02:20 $'1624k\r' 4 224M 4 9.9M 0 0 2916k 0 0:01:18 0:00:03 0:01:15 $'2927k\r' 7 224M 7 16.5M 0 0 3753k 0 0:01:01 0:00:04 0:00:57 $'3762k\r' 10 224M 10 23.3M 0 0 4350k 0 0:00:52 0:00:05 0:00:47 $'5602k\r' 13 224M 13 30.7M 0 0 4783k 0 0:00:48 0:00:06 0:00:42 $'6315k\r' 16 224M 16 37.0M 0 0 5057k 0 0:00:45 0:00:07 0:00:38 $'6741k\r' 19 224M 19 44.4M 0 0 5308k 0 0:00:43 0:00:08 0:00:35 $'6960k\r' 23 224M 23 51.7M 0 0 5516k 0 0:00:41 0:00:09 0:00:32 $'7079k\r' 26 224M 26 59.1M 0 0 5717k 0 0:00:40 0:00:10 0:00:30 $'7195k\r' 29 224M 29 66.4M 0 0 5915k 0 0:00:38 0:00:11 0:00:27 $'7423k\r' 33 224M 33 74.9M 0 0 6096k 0 0:00:37 0:00:12 0:00:25 $'7630k\r' 36 224M 36 82.2M 0 0 6231k 0 0:00:36 0:00:13 0:00:23 $'7825k\r' 39 224M 39 88.5M 0 0 6272k 0 0:00:36 0:00:14 0:00:22 $'7766k\r' 42 224M 42 95.9M 0 0 6342k 0 0:00:36 0:00:15 0:00:21 $'7693k\r' 46 224M 46 103M 0 0 6393k 0 0:00:35 0:00:16 0:00:19 $'7486k\r' 48 224M 48 109M 0 0 6425k 0 0:00:35 0:00:17 0:00:18 $'7263k\r' 51 224M 51 116M 0 0 6439k 0 0:00:35 0:00:18 0:00:17 $'7007k\r' 55 224M 55 123M 0 0 6475k 0 0:00:35 0:00:19 0:00:16 $'7054k\r' 58 224M 58 130M 0 0 6532k 0 0:00:35 0:00:20 0:00:15 $'7114k\r' 61 224M 61 138M 0 0 6589k 0 0:00:34 0:00:21 0:00:13 $'7244k\r' 65 224M 65 146M 0 0 6650k 0 0:00:34 0:00:22 0:00:12 $'7425k\r' 68 224M 68 154M 0 0 6699k 0 0:00:34 0:00:23 0:00:11 $'7645k\r' 71 224M 71 161M 0 0 6757k 0 0:00:34 0:00:24 0:00:10 $'7876k\r' 75 224M 75 169M 0 0 6807k 0 0:00:33 0:00:25 0:00:08 $'7933k\r' 78 224M 78 177M 0 0 6854k 0 0:00:33 0:00:26 0:00:07 $'7996k\r' 82 224M 82 185M 0 0 6904k 0 0:00:33 0:00:27 0:00:06 $'8066k\r' 86 224M 86 194M 0 0 6952k 0 0:00:33 0:00:28 0:00:05 $'8139k\r' 89 224M 89 201M 0 0 6996k 0 0:00:32 0:00:29 0:00:03 $'8161k\r' 93 224M 93 209M 0 0 7043k 0 0:00:32 0:00:30 0:00:02 $'8259k\r' 97 224M 97 218M 0 0 7084k 0 0:00:32 0:00:31 0:00:01 $'8288k\r100' 224M 100 224M 0 0 7117k 0 0:00:32 0:00:32 --:--:-- 8358k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv 64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 224M 0 11584 0 0 7256 0 9:00:29 0:00:01 9:00:28 $'7308\r' 1 224M 1 3982k 0 0 1616k 0 0:02:22 0:00:02 0:02:20 $'1624k\r' 4 224M 4 9.9M 0 0 2916k 0 0:01:18 0:00:03 0:01:15 $'2927k\r' 7 224M 7 16.5M 0 0 3753k 0 0:01:01 0:00:04 0:00:57 $'3762k\r' 10 224M 10 23.3M 0 0 4350k 0 0:00:52 0:00:05 0:00:47 $'5602k\r' 13 224M 13 30.7M 0 0 4783k 0 0:00:48 0:00:06 0:00:42 $'6315k\r' 16 224M 16 37.0M 0 0 5057k 0 0:00:45 0:00:07 0:00:38 $'6741k\r' 19 224M 19 44.4M 0 0 5308k 0 0:00:43 0:00:08 0:00:35 $'6960k\r' 23 224M 23 51.7M 0 0 5516k 0 0:00:41 0:00:09 0:00:32 $'7079k\r' 26 224M 26 59.1M 0 0 5717k 0 0:00:40 0:00:10 0:00:30 $'7195k\r' 29 224M 29 66.4M 0 0 5915k 0 0:00:38 0:00:11 0:00:27 $'7423k\r' 33 224M 33 74.9M 0 0 6096k 0 0:00:37 0:00:12 0:00:25 $'7630k\r' 36 224M 36 82.2M 0 0 6231k 0 0:00:36 0:00:13 0:00:23 $'7825k\r' 39 224M 39 88.5M 0 0 6272k 0 0:00:36 0:00:14 0:00:22 $'7766k\r' 42 224M 42 95.9M 0 0 6342k 0 0:00:36 0:00:15 0:00:21 $'7693k\r' 46 224M 46 103M 0 0 6393k 0 0:00:35 0:00:16 0:00:19 $'7486k\r' 48 224M 48 109M 0 0 6425k 0 0:00:35 0:00:17 0:00:18 $'7263k\r' 51 224M 51 116M 0 0 6439k 0 0:00:35 0:00:18 0:00:17 $'7007k\r' 55 224M 55 123M 0 0 6475k 0 0:00:35 0:00:19 0:00:16 $'7054k\r' 58 224M 58 130M 0 0 6532k 0 0:00:35 0:00:20 0:00:15 $'7114k\r' 61 224M 61 138M 0 0 6589k 0 0:00:34 0:00:21 0:00:13 $'7244k\r' 65 224M 65 146M 0 0 6650k 0 0:00:34 0:00:22 0:00:12 $'7425k\r' 68 224M 68 154M 0 0 6699k 0 0:00:34 0:00:23 0:00:11 $'7645k\r' 71 224M 71 161M 0 0 6757k 0 0:00:34 0:00:24 0:00:10 $'7876k\r' 75 224M 75 169M 0 0 6807k 0 0:00:33 0:00:25 0:00:08 $'7933k\r' 78 224M 78 177M 0 0 6854k 0 0:00:33 0:00:26 0:00:07 $'7996k\r' 82 224M 82 185M 0 0 6904k 0 0:00:33 0:00:27 0:00:06 $'8066k\r' 86 224M 86 194M 0 0 6952k 0 0:00:33 0:00:28 0:00:05 $'8139k\r' 89 224M 89 201M 0 0 6996k 0 0:00:32 0:00:29 0:00:03 $'8161k\r' 93 224M 93 209M 0 0 7043k 0 0:00:32 0:00:30 0:00:02 $'8259k\r' 97 224M 97 218M 0 0 7084k 0 0:00:32 0:00:31 0:00:01 $'8288k\r100' 224M 100 224M 0 0 7117k 0 0:00:32 0:00:32 --:--:-- 8358k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=391434e33f87e32c04a833f394a7dbd3f14b3a78, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00007fffb1711000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffb1644000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffb1511000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffb1713000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=28a2c4a90363f219abb83defddd63445538a834a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00007fffba32f000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffba25d000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffba12a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffba331000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f41def98c13042b5220dad5162dd2eb3a811495f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00007fff83a70000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff83920000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff837ed000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff83a72000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00007fff9cc9a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff9cb5d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff9cc9c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=da3be3303d0f9d7d4c4948c9bd15e68b8aa83eec, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00007fff859fe000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff8592a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff857f7000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff85a00000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fcaca58ee7a1a2f07553792b7e3b57bdf68f25c0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00007fff7f6e8000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff7f5ab000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff7f6ea000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=13778aa42f3926d92929c41875a156b2637e0842, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00007fff9c074000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff9bf2f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff9c076000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00007fff97dd3000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff97c96000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff97dd5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00007fff8780d000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff876d0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff8780f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00007fffacd02000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffacbc5000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffacd04000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a7869523b7b5bd15977ae296d89a01b9337b18e0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007fff88792000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff88655000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff88794000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fec6ba7e67e2b796cae6d18583d7103b5e4133c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007fffa2535000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffa23f8000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffa2537000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=1c82bbc49fab6681629a1431aeec1d04855c1c32, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007fff9481c000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff946df000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff9481e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=050cdeeca3270025456bab5f997e0154c509e55c, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00007fff92879000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff9273c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff9287b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ grep .so ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=ebcbdf88347e6618560497de6c5a942c1dac963f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007fff7fa96000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff7f959000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff7fa98000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4fe76729a51d1ad5073097f0395d56e932e40a9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007fff939b4000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff93877000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff939b6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=39d430c7c91236a80aeb0ff8d30ec49323919843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x00007fffa6fa9000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffa6f9c000) + libstdc++.so.6 => /lib/riscv64-linux-gnu/libstdc++.so.6 (0x00007fffa6422000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x00007fffa6f2b000) + libgcc_s.so.1 => /lib/riscv64-linux-gnu/libgcc_s.so.1 (0x00007fffa6f17000) + libpthread.so.0 => /lib/riscv64-linux-gnu/libpthread.so.0 (0x00007fffa6f14000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffa62ef000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffa6fab000) + libatomic.so.1 => /lib/riscv64-linux-gnu/libatomic.so.1 (0x00007fffa6f0b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8df03d0ff29ad796d26bec7b5be6bbe057b8eed5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00007fff84155000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff84018000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff84157000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3dacd56f955811af35ee820e706bd4491c1ccedd, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00007fffae532000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffae456000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffae323000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffae534000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00007fffac2e5000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffac2d8000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffabecd000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffac2e7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep dynamic ++ grep ELF ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007fff82c40000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff82c33000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff82b00000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff82c42000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=de67ace22e5e47dd1fa24f77a4ce762996e536d5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007fff93fb7000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff93faa000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x00007fff93f39000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff93e06000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff93fb9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7b35f1643c3a8b49d13754b0bee237506d2945aa, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00007fffaa171000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffaa0a1000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffa9f6e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffaa173000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep executable ++ grep ELF ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=05cf9dc88c199de15f4f7443b0d8f8b75ce6f742, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00007fff987e2000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff986fc000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff985c9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff987e4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d67dba7ef971b967f32d1dab248cacfd3305e0e8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00007fff8bb42000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff8b9c3000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff8b890000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff8bb44000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8eddc0bb144eb9a0441696bcfeb2a264efa3ea6d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00007fff95435000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff95363000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff95230000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff95437000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a1bc95c06a4a904e4dff4887941078f71194df83, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00007fffbe09f000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffbde8d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffbe0a1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5b08a6a2463fedb3c900720761d30059db644989, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00007fff89f3e000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff89e71000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff89d3e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff89f40000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7543658774ce7d14c706fda90f27ce8c165d642a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00007fffbbfd6000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffbbf08000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffbbdd5000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffbbfd8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=136a562434f432d72472cb146736f6423df33d99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00007fff970ff000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff97019000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff96ee6000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff97101000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 231M 0 596k 0 0 355k 0 0:11:07 0:00:01 0:11:06 357k 3 231M 3 8148k 0 0 3044k 0 0:01:17 0:00:02 0:01:15 3057k 6 231M 6 15.5M 0 0 4249k 0 0:00:55 0:00:03 0:00:52 4263k 9 231M 9 22.9M 0 0 4907k 0 0:00:48 0:00:04 0:00:44 4919k 13 231M 13 30.3M 0 0 5391k 0 0:00:43 0:00:05 0:00:38 6854k 16 231M 16 37.4M 0 0 5727k 0 0:00:41 0:00:06 0:00:35 7523k 18 231M 18 42.0M 0 0 5621k 0 0:00:42 0:00:07 0:00:35 7006k 20 231M 20 47.4M 0 0 5616k 0 0:00:42 0:00:08 0:00:34 6662k 23 231M 23 53.5M 0 0 5681k 0 0:00:41 0:00:09 0:00:32 6441k 26 231M 26 60.8M 0 0 5810k 0 0:00:40 0:00:10 0:00:30 6296k 29 231M 29 68.1M 0 0 5947k 0 0:00:39 0:00:11 0:00:28 6241k 32 231M 32 75.5M 0 0 6048k 0 0:00:39 0:00:12 0:00:27 6686k 35 231M 35 81.8M 0 0 6115k 0 0:00:38 0:00:13 0:00:25 6970k 38 231M 38 89.2M 0 0 6195k 0 0:00:38 0:00:14 0:00:24 7172k 41 231M 41 95.5M 0 0 6240k 0 0:00:37 0:00:15 0:00:22 7169k 44 231M 44 102M 0 0 6299k 0 0:00:37 0:00:16 0:00:21 7128k 47 231M 47 109M 0 0 6328k 0 0:00:37 0:00:17 0:00:20 7053k 50 231M 50 116M 0 0 6376k 0 0:00:37 0:00:18 0:00:19 7084k 53 231M 53 124M 0 0 6448k 0 0:00:36 0:00:19 0:00:17 7196k 56 231M 56 131M 0 0 6509k 0 0:00:36 0:00:20 0:00:16 7350k 60 231M 60 138M 0 0 6552k 0 0:00:36 0:00:21 0:00:15 7400k 63 231M 63 146M 0 0 6611k 0 0:00:35 0:00:22 0:00:13 7623k 66 231M 66 154M 0 0 6688k 0 0:00:35 0:00:23 0:00:12 7879k 70 231M 70 163M 0 0 6757k 0 0:00:35 0:00:24 0:00:11 7974k 74 231M 74 171M 0 0 6815k 0 0:00:34 0:00:25 0:00:09 8061k 77 231M 77 178M 0 0 6860k 0 0:00:34 0:00:26 0:00:08 8202k 80 231M 80 187M 0 0 6928k 0 0:00:34 0:00:27 0:00:07 8359k 84 231M 84 195M 0 0 6982k 0 0:00:33 0:00:28 0:00:05 8371k 88 231M 88 204M 0 0 7026k 0 0:00:33 0:00:29 0:00:04 8346k 91 231M 91 211M 0 0 7046k 0 0:00:33 0:00:30 0:00:03 8243k 94 231M 94 218M 0 0 7060k 0 0:00:33 0:00:31 0:00:02 8120k 97 231M 97 226M 0 0 7094k 0 0:00:33 0:00:32 0:00:01 8022k 100 231M 100 231M 0 0 7118k 0 0:00:33 0:00:33 --:--:-- 7975k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l inux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 231M 0 596k 0 0 355k 0 0:11:07 0:00:01 0:11:06 $'357k\r' 3 231M 3 8148k 0 0 3044k 0 0:01:17 0:00:02 0:01:15 $'3057k\r' 6 231M 6 15.5M 0 0 4249k 0 0:00:55 0:00:03 0:00:52 $'4263k\r' 9 231M 9 22.9M 0 0 4907k 0 0:00:48 0:00:04 0:00:44 $'4919k\r' 13 231M 13 30.3M 0 0 5391k 0 0:00:43 0:00:05 0:00:38 $'6854k\r' 16 231M 16 37.4M 0 0 5727k 0 0:00:41 0:00:06 0:00:35 $'7523k\r' 18 231M 18 42.0M 0 0 5621k 0 0:00:42 0:00:07 0:00:35 $'7006k\r' 20 231M 20 47.4M 0 0 5616k 0 0:00:42 0:00:08 0:00:34 $'6662k\r' 23 231M 23 53.5M 0 0 5681k 0 0:00:41 0:00:09 0:00:32 $'6441k\r' 26 231M 26 60.8M 0 0 5810k 0 0:00:40 0:00:10 0:00:30 $'6296k\r' 29 231M 29 68.1M 0 0 5947k 0 0:00:39 0:00:11 0:00:28 $'6241k\r' 32 231M 32 75.5M 0 0 6048k 0 0:00:39 0:00:12 0:00:27 $'6686k\r' 35 231M 35 81.8M 0 0 6115k 0 0:00:38 0:00:13 0:00:25 $'6970k\r' 38 231M 38 89.2M 0 0 6195k 0 0:00:38 0:00:14 0:00:24 $'7172k\r' 41 231M 41 95.5M 0 0 6240k 0 0:00:37 0:00:15 0:00:22 $'7169k\r' 44 231M 44 102M 0 0 6299k 0 0:00:37 0:00:16 0:00:21 $'7128k\r' 47 231M 47 109M 0 0 6328k 0 0:00:37 0:00:17 0:00:20 $'7053k\r' 50 231M 50 116M 0 0 6376k 0 0:00:37 0:00:18 0:00:19 $'7084k\r' 53 231M 53 124M 0 0 6448k 0 0:00:36 0:00:19 0:00:17 $'7196k\r' 56 231M 56 131M 0 0 6509k 0 0:00:36 0:00:20 0:00:16 $'7350k\r' 60 231M 60 138M 0 0 6552k 0 0:00:36 0:00:21 0:00:15 $'7400k\r' 63 231M 63 146M 0 0 6611k 0 0:00:35 0:00:22 0:00:13 $'7623k\r' 66 231M 66 154M 0 0 6688k 0 0:00:35 0:00:23 0:00:12 $'7879k\r' 70 231M 70 163M 0 0 6757k 0 0:00:35 0:00:24 0:00:11 $'7974k\r' 74 231M 74 171M 0 0 6815k 0 0:00:34 0:00:25 0:00:09 $'8061k\r' 77 231M 77 178M 0 0 6860k 0 0:00:34 0:00:26 0:00:08 $'8202k\r' 80 231M 80 187M 0 0 6928k 0 0:00:34 0:00:27 0:00:07 $'8359k\r' 84 231M 84 195M 0 0 6982k 0 0:00:33 0:00:28 0:00:05 $'8371k\r' 88 231M 88 204M 0 0 7026k 0 0:00:33 0:00:29 0:00:04 $'8346k\r' 91 231M 91 211M 0 0 7046k 0 0:00:33 0:00:30 0:00:03 $'8243k\r' 94 231M 94 218M 0 0 7060k 0 0:00:33 0:00:31 0:00:02 $'8120k\r' 97 231M 97 226M 0 0 7094k 0 0:00:33 0:00:32 0:00:01 $'8022k\r100' 231M 100 231M 0 0 7118k 0 0:00:33 0:00:33 --:--:-- 7975k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l inux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 231M 0 596k 0 0 355k 0 0:11:07 0:00:01 0:11:06 $'357k\r' 3 231M 3 8148k 0 0 3044k 0 0:01:17 0:00:02 0:01:15 $'3057k\r' 6 231M 6 15.5M 0 0 4249k 0 0:00:55 0:00:03 0:00:52 $'4263k\r' 9 231M 9 22.9M 0 0 4907k 0 0:00:48 0:00:04 0:00:44 $'4919k\r' 13 231M 13 30.3M 0 0 5391k 0 0:00:43 0:00:05 0:00:38 $'6854k\r' 16 231M 16 37.4M 0 0 5727k 0 0:00:41 0:00:06 0:00:35 $'7523k\r' 18 231M 18 42.0M 0 0 5621k 0 0:00:42 0:00:07 0:00:35 $'7006k\r' 20 231M 20 47.4M 0 0 5616k 0 0:00:42 0:00:08 0:00:34 $'6662k\r' 23 231M 23 53.5M 0 0 5681k 0 0:00:41 0:00:09 0:00:32 $'6441k\r' 26 231M 26 60.8M 0 0 5810k 0 0:00:40 0:00:10 0:00:30 $'6296k\r' 29 231M 29 68.1M 0 0 5947k 0 0:00:39 0:00:11 0:00:28 $'6241k\r' 32 231M 32 75.5M 0 0 6048k 0 0:00:39 0:00:12 0:00:27 $'6686k\r' 35 231M 35 81.8M 0 0 6115k 0 0:00:38 0:00:13 0:00:25 $'6970k\r' 38 231M 38 89.2M 0 0 6195k 0 0:00:38 0:00:14 0:00:24 $'7172k\r' 41 231M 41 95.5M 0 0 6240k 0 0:00:37 0:00:15 0:00:22 $'7169k\r' 44 231M 44 102M 0 0 6299k 0 0:00:37 0:00:16 0:00:21 $'7128k\r' 47 231M 47 109M 0 0 6328k 0 0:00:37 0:00:17 0:00:20 $'7053k\r' 50 231M 50 116M 0 0 6376k 0 0:00:37 0:00:18 0:00:19 $'7084k\r' 53 231M 53 124M 0 0 6448k 0 0:00:36 0:00:19 0:00:17 $'7196k\r' 56 231M 56 131M 0 0 6509k 0 0:00:36 0:00:20 0:00:16 $'7350k\r' 60 231M 60 138M 0 0 6552k 0 0:00:36 0:00:21 0:00:15 $'7400k\r' 63 231M 63 146M 0 0 6611k 0 0:00:35 0:00:22 0:00:13 $'7623k\r' 66 231M 66 154M 0 0 6688k 0 0:00:35 0:00:23 0:00:12 $'7879k\r' 70 231M 70 163M 0 0 6757k 0 0:00:35 0:00:24 0:00:11 $'7974k\r' 74 231M 74 171M 0 0 6815k 0 0:00:34 0:00:25 0:00:09 $'8061k\r' 77 231M 77 178M 0 0 6860k 0 0:00:34 0:00:26 0:00:08 $'8202k\r' 80 231M 80 187M 0 0 6928k 0 0:00:34 0:00:27 0:00:07 $'8359k\r' 84 231M 84 195M 0 0 6982k 0 0:00:33 0:00:28 0:00:05 $'8371k\r' 88 231M 88 204M 0 0 7026k 0 0:00:33 0:00:29 0:00:04 $'8346k\r' 91 231M 91 211M 0 0 7046k 0 0:00:33 0:00:30 0:00:03 $'8243k\r' 94 231M 94 218M 0 0 7060k 0 0:00:33 0:00:31 0:00:02 $'8120k\r' 97 231M 97 226M 0 0 7094k 0 0:00:33 0:00:32 0:00:01 $'8022k\r100' 231M 100 231M 0 0 7118k 0 0:00:33 0:00:33 --:--:-- 7975k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fe425b1b7a491bda2534bdb80ee503838d852ef8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x00007fffb8186000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffb80a2000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffb7f6f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffb8188000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31de725bef0a8f53eba36769a7be37eb620f7a2b, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00007fff8cf31000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff8ce48000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff8cd15000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff8cf33000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=6818370a530b64acc240e73fe321d99cad94a723, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00007fff89af1000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff8996c000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff89839000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff89af3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00007fffbe47d000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffbe340000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffbe47f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7dcd2e59d53f6d4df6af7b3e89b2cfe8ca36b34e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00007fffb515e000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffb5073000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffb4f40000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffb5160000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c6b55f7b647f4be0abdddcd7c409dc955bfb739e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00007fffade90000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffadd53000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffade92000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep executable ++ grep dynamic ++ grep ELF ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=0b8b290ca6f508e50e2ee64996305cc443ac5b9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00007fff98dd8000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff98c93000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff98dda000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00007fffa693a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffa67fd000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffa693c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00007fff8255a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff8241d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff8255c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00007fff8630c000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff861cf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff8630e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ grep .so ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3fb51f60d57bc734aad41355e1322a1f69065a08, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007fff940b4000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff93f77000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff940b6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=aa885dc4f52b6e5a2dc3ff98ff89813779396b51, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007fff90c8a000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff90b4d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff90c8c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=abe52db7cdccf81e5cfd6f19181c4774e518cfbf, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007fffa06a6000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffa0569000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffa06a8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f4c79502e3260a437a576e9d0e8ff928caf63a22, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00007fff92986000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff92849000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff92988000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=250949fdcaea85ea941660452bee5c21163be16d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007fff90295000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff90158000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff90297000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=bdbc9147210bd108886a761a21f60e7c95dc50fe, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007fff988c3000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff98786000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff988c5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=11def813f48d99dd78f2eed8d17c73351bf9a388, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x00007fff8c105000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff8c0fe000) + libstdc++.so.6 => /lib/riscv64-linux-gnu/libstdc++.so.6 (0x00007fff8b61c000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x00007fff8b5ab000) + libgcc_s.so.1 => /lib/riscv64-linux-gnu/libgcc_s.so.1 (0x00007fff8b597000) + libpthread.so.0 => /lib/riscv64-linux-gnu/libpthread.so.0 (0x00007fff8b594000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff8b461000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff8c107000) + libatomic.so.1 => /lib/riscv64-linux-gnu/libatomic.so.1 (0x00007fff8b458000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep .so ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31a93e40023c23a993b5e737137c15f485083b1f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00007fff83786000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff83649000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff83788000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=14684908d7a6f26b4fe822ccc2c8a1671837bf89, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00007fffadd3a000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffadb9b000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffada68000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffadd3c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00007fff94675000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff94668000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff94535000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff94677000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007fff97455000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff97448000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff97315000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff97457000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep dynamic ++ grep ELF ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f56289121545e9eb29e087f10379becc076ad124, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007fffa341e000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffa3411000) + libm.so.6 => /lib/riscv64-linux-gnu/libm.so.6 (0x00007fffa33a0000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffa326d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffa3420000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c1118173c3261176ae28b908f20c4041c87f3ab9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00007fff9e685000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff9e59e000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff9e46b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff9e687000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=71097d0a87f2b1884d767d8642b4ad6efef42cb7, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00007fffbda5d000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffbd95f000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffbd82c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffbda5f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=be6ba9a387e69d9794c5ffe7787406e472079843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00007fffb958c000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffb93d7000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffb92a4000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffb958e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=10be3c866f93235555c6a0c7224be62154ba798a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00007fff866f0000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fff86607000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fff864d4000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fff866f2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5043d4e49f9753ae93a7066487ac2033dbf381e3, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00007fffbb883000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffbb66e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffbb885000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep .so ++ grep -vE '\(0x' ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep executable ++ grep ELF ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8fe5d0c1d00aa3df97c5cff89f80764eba1e3bf1, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00007fffbd09f000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffbcfbb000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffbce88000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffbd0a1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=38962ec5375f6fee8f010906f654b502273effd8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00007fffa38ac000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffa37c7000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffa3694000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffa38ae000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8601474e5e55cf97a2e4bd5b6ad6e7d631e19ee5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00007fffb1731000) + libdl.so.2 => /lib/riscv64-linux-gnu/libdl.so.2 (0x00007fffb1633000) + libc.so.6 => /lib/riscv64-linux-gnu/libc.so.6 (0x00007fffb1500000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x00007fffb1733000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 294M 0 2343k 0 0 1202k 0 0:04:11 0:00:01 0:04:10 1210k 2 294M 2 8999k 0 0 3185k 0 0:01:34 0:00:02 0:01:32 3200k 5 294M 5 16.8M 0 0 4401k 0 0:01:08 0:00:03 0:01:05 4416k 8 294M 8 24.2M 0 0 5133k 0 0:00:58 0:00:04 0:00:54 5147k 11 294M 11 32.6M 0 0 5716k 0 0:00:52 0:00:05 0:00:47 7451k 13 294M 13 41.0M 0 0 6050k 0 0:00:49 0:00:06 0:00:43 7940k 16 294M 16 48.3M 0 0 6279k 0 0:00:48 0:00:07 0:00:41 8004k 19 294M 19 56.8M 0 0 6550k 0 0:00:46 0:00:08 0:00:38 8244k 21 294M 21 64.3M 0 0 6689k 0 0:00:45 0:00:09 0:00:36 8188k 24 294M 24 71.8M 0 0 6766k 0 0:00:44 0:00:10 0:00:34 7984k 26 294M 26 79.2M 0 0 6835k 0 0:00:44 0:00:11 0:00:33 7939k 29 294M 29 86.6M 0 0 6917k 0 0:00:43 0:00:12 0:00:31 7936k 32 294M 32 95.0M 0 0 6995k 0 0:00:43 0:00:13 0:00:30 7780k 34 294M 34 102M 0 0 7062k 0 0:00:42 0:00:14 0:00:28 7796k 37 294M 37 109M 0 0 7093k 0 0:00:42 0:00:15 0:00:27 7809k 39 294M 39 117M 0 0 7122k 0 0:00:42 0:00:16 0:00:26 7808k 42 294M 42 125M 0 0 7173k 0 0:00:42 0:00:17 0:00:25 7817k 45 294M 45 132M 0 0 7222k 0 0:00:41 0:00:18 0:00:23 7863k 47 294M 47 141M 0 0 7270k 0 0:00:41 0:00:19 0:00:22 7884k 50 294M 50 148M 0 0 7298k 0 0:00:41 0:00:20 0:00:21 7948k 52 294M 52 156M 0 0 7272k 0 0:00:41 0:00:21 0:00:20 7763k 55 294M 55 162M 0 0 7249k 0 0:00:41 0:00:22 0:00:19 7524k 57 294M 57 168M 0 0 7247k 0 0:00:41 0:00:23 0:00:18 7338k 59 294M 59 176M 0 0 7257k 0 0:00:41 0:00:24 0:00:17 7204k 62 294M 62 184M 0 0 7292k 0 0:00:41 0:00:25 0:00:16 7265k 65 294M 65 191M 0 0 7318k 0 0:00:41 0:00:26 0:00:15 7528k 67 294M 67 200M 0 0 7351k 0 0:00:41 0:00:27 0:00:14 7819k 70 294M 70 207M 0 0 7374k 0 0:00:40 0:00:28 0:00:12 7980k 73 294M 73 216M 0 0 7395k 0 0:00:40 0:00:29 0:00:11 8070k 75 294M 75 223M 0 0 7417k 0 0:00:40 0:00:30 0:00:10 8072k 78 294M 78 231M 0 0 7445k 0 0:00:40 0:00:31 0:00:09 8122k 81 294M 81 240M 0 0 7465k 0 0:00:40 0:00:32 0:00:08 8096k 83 294M 83 247M 0 0 7482k 0 0:00:40 0:00:33 0:00:07 8101k 86 294M 86 256M 0 0 7507k 0 0:00:40 0:00:34 0:00:06 8175k 89 294M 89 263M 0 0 7525k 0 0:00:40 0:00:35 0:00:05 8190k 92 294M 92 271M 0 0 7544k 0 0:00:40 0:00:36 0:00:04 8174k 95 294M 95 280M 0 0 7566k 0 0:00:39 0:00:37 0:00:02 8235k 97 294M 97 287M 0 0 7583k 0 0:00:39 0:00:38 0:00:01 8273k 100 294M 100 294M 0 0 7605k 0 0:00:39 0:00:39 --:--:-- 8322k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222' ++ retc=0 +++ awk '{print $NF}' +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 294M 0 2343k 0 0 1202k 0 0:04:11 0:00:01 0:04:10 $'1210k\r' 2 294M 2 8999k 0 0 3185k 0 0:01:34 0:00:02 0:01:32 $'3200k\r' 5 294M 5 16.8M 0 0 4401k 0 0:01:08 0:00:03 0:01:05 $'4416k\r' 8 294M 8 24.2M 0 0 5133k 0 0:00:58 0:00:04 0:00:54 $'5147k\r' 11 294M 11 32.6M 0 0 5716k 0 0:00:52 0:00:05 0:00:47 $'7451k\r' 13 294M 13 41.0M 0 0 6050k 0 0:00:49 0:00:06 0:00:43 $'7940k\r' 16 294M 16 48.3M 0 0 6279k 0 0:00:48 0:00:07 0:00:41 $'8004k\r' 19 294M 19 56.8M 0 0 6550k 0 0:00:46 0:00:08 0:00:38 $'8244k\r' 21 294M 21 64.3M 0 0 6689k 0 0:00:45 0:00:09 0:00:36 $'8188k\r' 24 294M 24 71.8M 0 0 6766k 0 0:00:44 0:00:10 0:00:34 $'7984k\r' 26 294M 26 79.2M 0 0 6835k 0 0:00:44 0:00:11 0:00:33 $'7939k\r' 29 294M 29 86.6M 0 0 6917k 0 0:00:43 0:00:12 0:00:31 $'7936k\r' 32 294M 32 95.0M 0 0 6995k 0 0:00:43 0:00:13 0:00:30 $'7780k\r' 34 294M 34 102M 0 0 7062k 0 0:00:42 0:00:14 0:00:28 $'7796k\r' 37 294M 37 109M 0 0 7093k 0 0:00:42 0:00:15 0:00:27 $'7809k\r' 39 294M 39 117M 0 0 7122k 0 0:00:42 0:00:16 0:00:26 $'7808k\r' 42 294M 42 125M 0 0 7173k 0 0:00:42 0:00:17 0:00:25 $'7817k\r' 45 294M 45 132M 0 0 7222k 0 0:00:41 0:00:18 0:00:23 $'7863k\r' 47 294M 47 141M 0 0 7270k 0 0:00:41 0:00:19 0:00:22 $'7884k\r' 50 294M 50 148M 0 0 7298k 0 0:00:41 0:00:20 0:00:21 $'7948k\r' 52 294M 52 156M 0 0 7272k 0 0:00:41 0:00:21 0:00:20 $'7763k\r' 55 294M 55 162M 0 0 7249k 0 0:00:41 0:00:22 0:00:19 $'7524k\r' 57 294M 57 168M 0 0 7247k 0 0:00:41 0:00:23 0:00:18 $'7338k\r' 59 294M 59 176M 0 0 7257k 0 0:00:41 0:00:24 0:00:17 $'7204k\r' 62 294M 62 184M 0 0 7292k 0 0:00:41 0:00:25 0:00:16 $'7265k\r' 65 294M 65 191M 0 0 7318k 0 0:00:41 0:00:26 0:00:15 $'7528k\r' 67 294M 67 200M 0 0 7351k 0 0:00:41 0:00:27 0:00:14 $'7819k\r' 70 294M 70 207M 0 0 7374k 0 0:00:40 0:00:28 0:00:12 $'7980k\r' 73 294M 73 216M 0 0 7395k 0 0:00:40 0:00:29 0:00:11 $'8070k\r' 75 294M 75 223M 0 0 7417k 0 0:00:40 0:00:30 0:00:10 $'8072k\r' 78 294M 78 231M 0 0 7445k 0 0:00:40 0:00:31 0:00:09 $'8122k\r' 81 294M 81 240M 0 0 7465k 0 0:00:40 0:00:32 0:00:08 $'8096k\r' 83 294M 83 247M 0 0 7482k 0 0:00:40 0:00:33 0:00:07 $'8101k\r' 86 294M 86 256M 0 0 7507k 0 0:00:40 0:00:34 0:00:06 $'8175k\r' 89 294M 89 263M 0 0 7525k 0 0:00:40 0:00:35 0:00:05 $'8190k\r' 92 294M 92 271M 0 0 7544k 0 0:00:40 0:00:36 0:00:04 $'8174k\r' 95 294M 95 280M 0 0 7566k 0 0:00:39 0:00:37 0:00:02 $'8235k\r' 97 294M 97 287M 0 0 7583k 0 0:00:39 0:00:38 0:00:01 $'8273k\r100' 294M 100 294M 0 0 7605k 0 0:00:39 0:00:39 --:--:-- 8322k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 0222 ++ bp=0222 ++ bpb=0222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 294M 0 2343k 0 0 1202k 0 0:04:11 0:00:01 0:04:10 $'1210k\r' 2 294M 2 8999k 0 0 3185k 0 0:01:34 0:00:02 0:01:32 $'3200k\r' 5 294M 5 16.8M 0 0 4401k 0 0:01:08 0:00:03 0:01:05 $'4416k\r' 8 294M 8 24.2M 0 0 5133k 0 0:00:58 0:00:04 0:00:54 $'5147k\r' 11 294M 11 32.6M 0 0 5716k 0 0:00:52 0:00:05 0:00:47 $'7451k\r' 13 294M 13 41.0M 0 0 6050k 0 0:00:49 0:00:06 0:00:43 $'7940k\r' 16 294M 16 48.3M 0 0 6279k 0 0:00:48 0:00:07 0:00:41 $'8004k\r' 19 294M 19 56.8M 0 0 6550k 0 0:00:46 0:00:08 0:00:38 $'8244k\r' 21 294M 21 64.3M 0 0 6689k 0 0:00:45 0:00:09 0:00:36 $'8188k\r' 24 294M 24 71.8M 0 0 6766k 0 0:00:44 0:00:10 0:00:34 $'7984k\r' 26 294M 26 79.2M 0 0 6835k 0 0:00:44 0:00:11 0:00:33 $'7939k\r' 29 294M 29 86.6M 0 0 6917k 0 0:00:43 0:00:12 0:00:31 $'7936k\r' 32 294M 32 95.0M 0 0 6995k 0 0:00:43 0:00:13 0:00:30 $'7780k\r' 34 294M 34 102M 0 0 7062k 0 0:00:42 0:00:14 0:00:28 $'7796k\r' 37 294M 37 109M 0 0 7093k 0 0:00:42 0:00:15 0:00:27 $'7809k\r' 39 294M 39 117M 0 0 7122k 0 0:00:42 0:00:16 0:00:26 $'7808k\r' 42 294M 42 125M 0 0 7173k 0 0:00:42 0:00:17 0:00:25 $'7817k\r' 45 294M 45 132M 0 0 7222k 0 0:00:41 0:00:18 0:00:23 $'7863k\r' 47 294M 47 141M 0 0 7270k 0 0:00:41 0:00:19 0:00:22 $'7884k\r' 50 294M 50 148M 0 0 7298k 0 0:00:41 0:00:20 0:00:21 $'7948k\r' 52 294M 52 156M 0 0 7272k 0 0:00:41 0:00:21 0:00:20 $'7763k\r' 55 294M 55 162M 0 0 7249k 0 0:00:41 0:00:22 0:00:19 $'7524k\r' 57 294M 57 168M 0 0 7247k 0 0:00:41 0:00:23 0:00:18 $'7338k\r' 59 294M 59 176M 0 0 7257k 0 0:00:41 0:00:24 0:00:17 $'7204k\r' 62 294M 62 184M 0 0 7292k 0 0:00:41 0:00:25 0:00:16 $'7265k\r' 65 294M 65 191M 0 0 7318k 0 0:00:41 0:00:26 0:00:15 $'7528k\r' 67 294M 67 200M 0 0 7351k 0 0:00:41 0:00:27 0:00:14 $'7819k\r' 70 294M 70 207M 0 0 7374k 0 0:00:40 0:00:28 0:00:12 $'7980k\r' 73 294M 73 216M 0 0 7395k 0 0:00:40 0:00:29 0:00:11 $'8070k\r' 75 294M 75 223M 0 0 7417k 0 0:00:40 0:00:30 0:00:10 $'8072k\r' 78 294M 78 231M 0 0 7445k 0 0:00:40 0:00:31 0:00:09 $'8122k\r' 81 294M 81 240M 0 0 7465k 0 0:00:40 0:00:32 0:00:08 $'8096k\r' 83 294M 83 247M 0 0 7482k 0 0:00:40 0:00:33 0:00:07 $'8101k\r' 86 294M 86 256M 0 0 7507k 0 0:00:40 0:00:34 0:00:06 $'8175k\r' 89 294M 89 263M 0 0 7525k 0 0:00:40 0:00:35 0:00:05 $'8190k\r' 92 294M 92 271M 0 0 7544k 0 0:00:40 0:00:36 0:00:04 $'8174k\r' 95 294M 95 280M 0 0 7566k 0 0:00:39 0:00:37 0:00:02 $'8235k\r' 97 294M 97 287M 0 0 7583k 0 0:00:39 0:00:38 0:00:01 $'8273k\r100' 294M 100 294M 0 0 7605k 0 0:00:39 0:00:39 --:--:-- 8322k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 0222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 0222 ']' ++ '[' '!' -d 0222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 7 42.8M 7 3422k 0 0 1659k 0 0:00:26 0:00:02 0:00:24 1669k 22 42.8M 22 9886k 0 0 3327k 0 0:00:13 0:00:02 0:00:11 3339k 39 42.8M 39 17.0M 0 0 4407k 0 0:00:09 0:00:03 0:00:06 4419k 56 42.8M 56 24.3M 0 0 4989k 0 0:00:08 0:00:05 0:00:03 4999k 74 42.8M 74 31.7M 0 0 5370k 0 0:00:08 0:00:06 0:00:02 6722k 88 42.8M 88 38.0M 0 0 5559k 0 0:00:07 0:00:07 --:--:-- 7183k 100 42.8M 100 42.8M 0 0 5680k 0 0:00:07 0:00:07 --:--:-- 7154k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 7 42.8M 7 3422k 0 0 1659k 0 0:00:26 0:00:02 0:00:24 $'1669k\r' 22 42.8M 22 9886k 0 0 3327k 0 0:00:13 0:00:02 0:00:11 $'3339k\r' 39 42.8M 39 17.0M 0 0 4407k 0 0:00:09 0:00:03 0:00:06 $'4419k\r' 56 42.8M 56 24.3M 0 0 4989k 0 0:00:08 0:00:05 0:00:03 $'4999k\r' 74 42.8M 74 31.7M 0 0 5370k 0 0:00:08 0:00:06 0:00:02 $'6722k\r' 88 42.8M 88 38.0M 0 0 5559k 0 0:00:07 0:00:07 --:--:-- $'7183k\r100' 42.8M 100 42.8M 0 0 5680k 0 0:00:07 0:00:07 --:--:-- 7154k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 +++ awk '{print $NF}' ++ bp=23.0-ruyi.20240224 ++ bpb=23.0-ruyi.20240224/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 7 42.8M 7 3422k 0 0 1659k 0 0:00:26 0:00:02 0:00:24 $'1669k\r' 22 42.8M 22 9886k 0 0 3327k 0 0:00:13 0:00:02 0:00:11 $'3339k\r' 39 42.8M 39 17.0M 0 0 4407k 0 0:00:09 0:00:03 0:00:06 $'4419k\r' 56 42.8M 56 24.3M 0 0 4989k 0 0:00:08 0:00:05 0:00:03 $'4999k\r' 74 42.8M 74 31.7M 0 0 5370k 0 0:00:08 0:00:06 0:00:02 $'6722k\r' 88 42.8M 88 38.0M 0 0 5559k 0 0:00:07 0:00:07 --:--:-- $'7183k\r100' 42.8M 100 42.8M 0 0 5680k 0 0:00:07 0:00:07 --:--:-- 7154k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 23.0-ruyi.20240224 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 23.0-ruyi.20240224 ']' ++ '[' '!' -d 23.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for +host linux/riscv64' ++ retc=2 +++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check toolchain/llvm-upstream no binary for current host' ++ message='Check toolchain/llvm-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check toolchain/llvm-upstream no binary for current host' +Wed Apr 10 15:45:06 2024 - WARN - Check toolchain/llvm-upstream no binary for current host ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-system-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-system-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-system-riscv-upstream no binary for current host' +Wed Apr 10 15:45:46 2024 - WARN - Check emulator/qemu-system-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-user-riscv-upstream no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-upstream no binary for current host' +Wed Apr 10 15:46:06 2024 - WARN - Check emulator/qemu-user-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +declares no binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-xthead no binary for current host' ++ message='Check emulator/qemu-user-riscv-xthead no binary for current host' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-xthead no binary for current host' +Wed Apr 10 15:46:26 2024 - WARN - Check emulator/qemu-user-riscv-xthead no binary for current host ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 15:46:27 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 15:46:28 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 15:46:29 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpzll4rvks ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpzll4rvks +Wed Apr 10 15:46:34 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpzll4rvks ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpzll4rvks +Wed Apr 10 15:47:59 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 15:48:22 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-16_01_36.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-16_01_36.log new file mode 100644 index 00000000..1a08a8c7 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-16_01_36.log @@ -0,0 +1,602 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 16:01:39 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 16:01:43 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpclpldvyg ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpclpldvyg ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpclpldvyg ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpclpldvyg +Wed Apr 10 16:04:54 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpclpldvyg ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 20.8M 0 193k 0 0 93286 0 0:03:54 0:00:02 0:03:52 93805 3 20.8M 3 801k 0 0 257k 0 0:01:23 0:00:03 0:01:20 258k 7 20.8M 7 1649k 0 0 401k 0 0:00:53 0:00:04 0:00:49 402k 11 20.8M 11 2481k 0 0 485k 0 0:00:44 0:00:05 0:00:39 498k 14 20.8M 14 3105k 0 0 507k 0 0:00:42 0:00:06 0:00:36 673k 17 20.8M 17 3681k 0 0 517k 0 0:00:41 0:00:07 0:00:34 698k 19 20.8M 19 4225k 0 0 521k 0 0:00:41 0:00:08 0:00:33 685k 22 20.8M 22 4753k 0 0 522k 0 0:00:40 0:00:09 0:00:31 621k 26 20.8M 26 5633k 0 0 557k 0 0:00:38 0:00:10 0:00:28 630k 29 20.8M 29 6385k 0 0 574k 0 0:00:37 0:00:11 0:00:26 657k 32 20.8M 32 6993k 0 0 577k 0 0:00:37 0:00:12 0:00:25 663k 36 20.8M 36 7841k 0 0 597k 0 0:00:35 0:00:13 0:00:22 721k 39 20.8M 39 8369k 0 0 592k 0 0:00:36 0:00:14 0:00:22 720k 41 20.8M 41 8865k 0 0 586k 0 0:00:36 0:00:15 0:00:21 646k 43 20.8M 43 9281k 0 0 575k 0 0:00:37 0:00:16 0:00:21 578k 45 20.8M 45 9697k 0 0 566k 0 0:00:37 0:00:17 0:00:20 539k 48 20.8M 48 10.0M 0 0 568k 0 0:00:37 0:00:18 0:00:19 491k 51 20.8M 51 10.7M 0 0 574k 0 0:00:37 0:00:19 0:00:18 522k 54 20.8M 54 11.4M 0 0 581k 0 0:00:36 0:00:20 0:00:16 566k 57 20.8M 57 11.9M 0 0 579k 0 0:00:36 0:00:21 0:00:15 589k 59 20.8M 59 12.3M 0 0 573k 0 0:00:37 0:00:22 0:00:15 595k 62 20.8M 62 13.0M 0 0 578k 0 0:00:36 0:00:23 0:00:13 614k 64 20.8M 64 13.5M 0 0 574k 0 0:00:37 0:00:24 0:00:13 576k 67 20.8M 67 14.0M 0 0 572k 0 0:00:37 0:00:25 0:00:12 536k 69 20.8M 69 14.5M 0 0 571k 0 0:00:37 0:00:26 0:00:11 541k 73 20.8M 73 15.2M 0 0 576k 0 0:00:37 0:00:27 0:00:10 592k 76 20.8M 76 16.0M 0 0 583k 0 0:00:36 0:00:28 0:00:08 608k 80 20.8M 80 16.7M 0 0 589k 0 0:00:36 0:00:29 0:00:07 659k 83 20.8M 83 17.4M 0 0 593k 0 0:00:36 0:00:30 0:00:06 697k 86 20.8M 86 18.0M 0 0 594k 0 0:00:35 0:00:31 0:00:04 713k 90 20.8M 90 18.8M 0 0 601k 0 0:00:35 0:00:32 0:00:03 735k 93 20.8M 93 19.5M 0 0 603k 0 0:00:35 0:00:33 0:00:02 713k 96 20.8M 96 20.2M 0 0 608k 0 0:00:35 0:00:34 0:00:01 716k 100 20.8M 100 20.8M 0 0 610k 0 0:00:35 0:00:35 --:--:-- 716k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpclpldvyg ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpclpldvyg +Wed Apr 10 16:05:36 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmpclpldvyg ']' ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpclpldvyg ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpclpldvyg ++ tmpfile2=/tmp/tmpclpldvyg ++ '[' -z /tmp/tmpclpldvyg ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmpclpldvyg ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmpclpldvyg +Wed Apr 10 16:09:22 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpclpldvyg ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 16:09:24 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 16:09:25 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting +objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% +(100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% +(312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 231M 0 168k 0 0 95795 0 0:42:12 0:00:01 0:42:11 96419 0 231M 0 1896k 0 0 675k 0 0:05:50 0:00:02 0:05:48 677k 3 231M 3 8488k 0 0 2215k 0 0:01:46 0:00:03 0:01:43 2222k 6 231M 6 15.6M 0 0 3317k 0 0:01:11 0:00:04 0:01:07 3325k 9 231M 9 23.0M 0 0 4028k 0 0:00:58 0:00:05 0:00:53 5162k 13 231M 13 30.3M 0 0 4573k 0 0:00:51 0:00:06 0:00:45 6188k 16 231M 16 38.8M 0 0 5027k 0 0:00:47 0:00:07 0:00:40 7428k 19 231M 19 45.1M 0 0 5241k 0 0:00:45 0:00:08 0:00:37 7568k 23 231M 23 53.5M 0 0 5550k 0 0:00:42 0:00:09 0:00:33 7693k 26 231M 26 60.5M 0 0 5725k 0 0:00:41 0:00:10 0:00:31 7721k 29 231M 29 67.9M 0 0 5846k 0 0:00:40 0:00:11 0:00:29 7550k 31 231M 31 72.7M 0 0 5822k 0 0:00:40 0:00:12 0:00:28 7106k 34 231M 34 79.6M 0 0 5895k 0 0:00:40 0:00:13 0:00:27 7041k 37 231M 37 86.7M 0 0 5990k 0 0:00:39 0:00:14 0:00:25 6865k 40 231M 40 94.1M 0 0 6075k 0 0:00:38 0:00:15 0:00:23 6828k 43 231M 43 101M 0 0 6185k 0 0:00:38 0:00:16 0:00:22 7005k 47 231M 47 109M 0 0 6295k 0 0:00:37 0:00:17 0:00:20 7490k 50 231M 50 117M 0 0 6348k 0 0:00:37 0:00:18 0:00:19 7585k 53 231M 53 124M 0 0 6412k 0 0:00:36 0:00:19 0:00:17 7648k 57 231M 57 131M 0 0 6454k 0 0:00:36 0:00:20 0:00:16 7640k 59 231M 59 138M 0 0 6470k 0 0:00:36 0:00:21 0:00:15 7413k 62 231M 62 145M 0 0 6532k 0 0:00:36 0:00:22 0:00:14 7385k 66 231M 66 154M 0 0 6603k 0 0:00:35 0:00:23 0:00:12 7569k 69 231M 69 161M 0 0 6651k 0 0:00:35 0:00:24 0:00:11 7610k 73 231M 73 169M 0 0 6710k 0 0:00:35 0:00:25 0:00:10 7786k 76 231M 76 177M 0 0 6756k 0 0:00:35 0:00:26 0:00:09 8014k 79 231M 79 184M 0 0 6791k 0 0:00:34 0:00:27 0:00:07 7971k 82 231M 82 191M 0 0 6812k 0 0:00:34 0:00:28 0:00:06 7822k 86 231M 86 200M 0 0 6858k 0 0:00:34 0:00:29 0:00:05 7879k 89 231M 89 207M 0 0 6894k 0 0:00:34 0:00:30 0:00:04 7858k 92 231M 92 215M 0 0 6925k 0 0:00:34 0:00:31 0:00:03 7838k 96 231M 96 223M 0 0 6961k 0 0:00:34 0:00:32 0:00:02 7906k 99 231M 99 230M 0 0 6983k 0 0:00:33 0:00:33 --:--:-- 7971k 100 231M 100 231M 0 0 6985k 0 0:00:33 0:00:33 --:--:-- 7933k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 294M 0 7240 0 0 4745 0 18:05:53 0:00:01 18:05:52 4778 0 294M 0 743k 0 0 294k 0 0:17:04 0:00:02 0:17:02 296k 0 294M 0 1191k 0 0 339k 0 0:14:50 0:00:03 0:14:47 340k 0 294M 0 1703k 0 0 377k 0 0:13:20 0:00:04 0:13:16 378k 0 294M 0 2247k 0 0 405k 0 0:12:25 0:00:05 0:12:20 527k 0 294M 0 2759k 0 0 423k 0 0:11:53 0:00:06 0:11:47 551k 1 294M 1 3367k 0 0 448k 0 0:11:13 0:00:07 0:11:06 525k 1 294M 1 4199k 0 0 493k 0 0:10:12 0:00:08 0:10:04 601k 1 294M 1 5175k 0 0 544k 0 0:09:14 0:00:09 0:09:05 694k 1 294M 1 5911k 0 0 562k 0 0:08:56 0:00:10 0:08:46 738k 2 294M 2 6551k 0 0 569k 0 0:08:50 0:00:11 0:08:39 759k 2 294M 2 7159k 0 0 572k 0 0:08:47 0:00:12 0:08:35 758k 2 294M 2 7895k 0 0 584k 0 0:08:36 0:00:13 0:08:23 739k 2 294M 2 8759k 0 0 603k 0 0:08:20 0:00:14 0:08:06 716k 3 294M 3 9495k 0 0 612k 0 0:08:13 0:00:15 0:07:58 716k 3 294M 3 9.8M 0 0 612k 0 0:08:12 0:00:16 0:07:56 713k 3 294M 3 10.3M 0 0 607k 0 0:08:16 0:00:17 0:07:59 697k 3 294M 3 11.1M 0 0 614k 0 0:08:11 0:00:18 0:07:53 694k 4 294M 4 11.9M 0 0 626k 0 0:08:01 0:00:19 0:07:42 694k 4 294M 4 12.6M 0 0 629k 0 0:07:59 0:00:20 0:07:39 684k 4 294M 4 13.1M 0 0 623k 0 0:08:04 0:00:21 0:07:43 657k 4 294M 4 13.6M 0 0 619k 0 0:08:07 0:00:22 0:07:45 659k 4 294M 4 14.2M 0 0 619k 0 0:08:07 0:00:23 0:07:44 640k 5 294M 5 15.0M 0 0 629k 0 0:07:59 0:00:24 0:07:35 640k 5 294M 5 16.0M 0 0 642k 0 0:07:49 0:00:25 0:07:24 694k 5 294M 5 16.8M 0 0 649k 0 0:07:44 0:00:26 0:07:18 762k 5 294M 5 17.4M 0 0 650k 0 0:07:44 0:00:27 0:07:17 790k 6 294M 6 18.0M 0 0 646k 0 0:07:46 0:00:28 0:07:18 774k 6 294M 6 18.4M 0 0 641k 0 0:07:50 0:00:29 0:07:21 699k 6 294M 6 19.0M 0 0 639k 0 0:07:51 0:00:30 0:07:21 626k 6 294M 6 19.7M 0 0 641k 0 0:07:50 0:00:31 0:07:19 599k 6 294M 6 20.4M 0 0 644k 0 0:07:48 0:00:32 0:07:16 610k 7 294M 7 21.0M 0 0 643k 0 0:07:48 0:00:33 0:07:15 626k 7 294M 7 21.6M 0 0 642k 0 0:07:49 0:00:34 0:07:15 649k 7 294M 7 22.2M 0 0 642k 0 0:07:49 0:00:35 0:07:14 659k 7 294M 7 22.8M 0 0 642k 0 0:07:50 0:00:36 0:07:14 645k 7 294M 7 23.5M 0 0 643k 0 0:07:48 0:00:37 0:07:11 640k 8 294M 8 24.2M 0 0 645k 0 0:07:47 0:00:38 0:07:09 658k 8 294M 8 24.8M 0 0 643k 0 0:07:49 0:00:39 0:07:10 650k 8 294M 8 25.5M 0 0 645k 0 0:07:47 0:00:40 0:07:07 665k 8 294M 8 26.3M 0 0 649k 0 0:07:44 0:00:41 0:07:03 700k 9 294M 9 27.0M 0 0 650k 0 0:07:43 0:00:42 0:07:01 704k 9 294M 9 27.6M 0 0 649k 0 0:07:44 0:00:43 0:07:01 683k 9 294M 9 28.2M 0 0 650k 0 0:07:44 0:00:44 0:07:00 704k 9 294M 9 28.8M 0 0 649k 0 0:07:44 0:00:45 0:06:59 681k 10 294M 10 29.6M 0 0 651k 0 0:07:43 0:00:46 0:06:57 672k 10 294M 10 30.5M 0 0 658k 0 0:07:38 0:00:47 0:06:51 722k 10 294M 10 31.1M 0 0 656k 0 0:07:39 0:00:48 0:06:51 716k 10 294M 10 31.6M 0 0 654k 0 0:07:41 0:00:49 0:06:52 693k 10 294M 10 32.2M 0 0 653k 0 0:07:41 0:00:50 0:06:51 690k 11 294M 11 32.7M 0 0 651k 0 0:07:43 0:00:51 0:06:52 646k 11 294M 11 33.2M 0 0 647k 0 0:07:45 0:00:52 0:06:53 547k 11 294M 11 33.8M 0 0 646k 0 0:07:46 0:00:53 0:06:53 550k 11 294M 11 34.5M 0 0 648k 0 0:07:45 0:00:54 0:06:51 588k 12 294M 12 35.3M 0 0 652k 0 0:07:42 0:00:55 0:06:47 644k 12 294M 12 35.9M 0 0 652k 0 0:07:42 0:00:56 0:06:46 661k 12 294M 12 36.8M 0 0 655k 0 0:07:40 0:00:57 0:06:43 737k 12 294M 12 37.4M 0 0 656k 0 0:07:40 0:00:58 0:06:42 755k 12 294M 12 38.1M 0 0 655k 0 0:07:40 0:00:59 0:06:41 735k 13 294M 13 38.6M 0 0 654k 0 0:07:41 0:01:00 0:06:41 678k 13 294M 13 39.3M 0 0 654k 0 0:07:41 0:01:01 0:06:40 682k 13 294M 13 39.8M 0 0 653k 0 0:07:42 0:01:02 0:06:40 625k 13 294M 13 40.5M 0 0 653k 0 0:07:42 0:01:03 0:06:39 617k 13 294M 13 41.2M 0 0 654k 0 0:07:41 0:01:04 0:06:37 631k 14 294M 14 41.7M 0 0 652k 0 0:07:42 0:01:05 0:06:37 627k 14 294M 14 42.2M 0 0 650k 0 0:07:44 0:01:06 0:06:38 594k 14 294M 14 42.7M 0 0 648k 0 0:07:45 0:01:07 0:06:38 582k 14 294M 14 43.2M 0 0 646k 0 0:07:47 0:01:08 0:06:39 561k 14 294M 14 43.7M 0 0 644k 0 0:07:48 0:01:09 0:06:39 521k 15 294M 15 44.3M 0 0 643k 0 0:07:49 0:01:10 0:06:39 525k 15 294M 15 45.1M 0 0 646k 0 0:07:47 0:01:11 0:06:36 595k 15 294M 15 45.8M 0 0 647k 0 0:07:46 0:01:12 0:06:34 636k 15 294M 15 46.6M 0 0 649k 0 0:07:44 0:01:13 0:06:31 693k 16 294M 16 47.2M 0 0 649k 0 0:07:44 0:01:14 0:06:30 720k 16 294M 16 47.9M 0 0 649k 0 0:07:44 0:01:15 0:06:29 738k 16 294M 16 48.5M 0 0 649k 0 0:07:44 0:01:16 0:06:28 693k 16 294M 16 48.9M 0 0 646k 0 0:07:46 0:01:17 0:06:29 640k 16 294M 16 49.5M 0 0 645k 0 0:07:47 0:01:18 0:06:29 591k 17 294M 17 50.2M 0 0 646k 0 0:07:46 0:01:19 0:06:27 600k 17 294M 17 50.8M 0 0 646k 0 0:07:46 0:01:20 0:06:26 601k 17 294M 17 51.5M 0 0 648k 0 0:07:45 0:01:21 0:06:24 627k 17 294M 17 52.3M 0 0 650k 0 0:07:44 0:01:22 0:06:22 703k 18 294M 18 53.2M 0 0 652k 0 0:07:42 0:01:23 0:06:19 762k 18 294M 18 54.1M 0 0 655k 0 0:07:40 0:01:24 0:06:16 797k 18 294M 18 54.8M 0 0 657k 0 0:07:39 0:01:25 0:06:14 821k 18 294M 18 55.5M 0 0 657k 0 0:07:38 0:01:26 0:06:12 816k 19 294M 19 56.3M 0 0 658k 0 0:07:38 0:01:27 0:06:11 803k 19 294M 19 56.8M 0 0 658k 0 0:07:38 0:01:28 0:06:10 745k 19 294M 19 57.5M 0 0 658k 0 0:07:38 0:01:29 0:06:09 707k 19 294M 19 58.1M 0 0 657k 0 0:07:38 0:01:30 0:06:08 672k 19 294M 19 58.9M 0 0 659k 0 0:07:37 0:01:31 0:06:06 689k 20 294M 20 59.6M 0 0 659k 0 0:07:37 0:01:32 0:06:05 676k 20 294M 20 60.2M 0 0 660k 0 0:07:37 0:01:33 0:06:04 694k 20 294M 20 60.8M 0 0 659k 0 0:07:37 0:01:34 0:06:03 678k 20 294M 20 61.6M 0 0 660k 0 0:07:36 0:01:35 0:06:01 710k 21 294M 21 62.5M 0 0 663k 0 0:07:35 0:01:36 0:05:59 734k 21 294M 21 63.1M 0 0 663k 0 0:07:35 0:01:37 0:05:58 725k 21 294M 21 63.6M 0 0 661k 0 0:07:36 0:01:38 0:05:58 689k 21 294M 21 64.0M 0 0 658k 0 0:07:38 0:01:39 0:05:59 649k 21 294M 21 64.5M 0 0 657k 0 0:07:39 0:01:40 0:05:59 592k 22 294M 22 65.1M 0 0 657k 0 0:07:39 0:01:41 0:05:58 533k 22 294M 22 65.7M 0 0 656k 0 0:07:39 0:01:42 0:05:57 530k 22 294M 22 66.2M 0 0 655k 0 0:07:40 0:01:43 0:05:57 534k 22 294M 22 66.7M 0 0 654k 0 0:07:41 0:01:44 0:05:57 556k 22 294M 22 67.1M 0 0 652k 0 0:07:42 0:01:45 0:05:57 547k 22 294M 22 67.7M 0 0 651k 0 0:07:43 0:01:46 0:05:57 527k 23 294M 23 68.2M 0 0 650k 0 0:07:44 0:01:47 0:05:57 519k 23 294M 23 68.9M 0 0 650k 0 0:07:44 0:01:48 0:05:56 548k 23 294M 23 69.6M 0 0 650k 0 0:07:43 0:01:49 0:05:54 583k 23 294M 23 70.3M 0 0 652k 0 0:07:42 0:01:50 0:05:52 656k 24 294M 24 71.1M 0 0 653k 0 0:07:42 0:01:51 0:05:51 696k 24 294M 24 71.8M 0 0 653k 0 0:07:41 0:01:52 0:05:49 723k 24 294M 24 72.4M 0 0 653k 0 0:07:41 0:01:53 0:05:48 728k 24 294M 24 73.2M 0 0 654k 0 0:07:41 0:01:54 0:05:47 738k 25 294M 25 73.7M 0 0 653k 0 0:07:41 0:01:55 0:05:46 688k 25 294M 25 74.3M 0 0 653k 0 0:07:41 0:01:56 0:05:45 665k 25 294M 25 74.9M 0 0 652k 0 0:07:42 0:01:57 0:05:45 636k 25 294M 25 75.5M 0 0 652k 0 0:07:42 0:01:58 0:05:44 624k 25 294M 25 76.1M 0 0 652k 0 0:07:42 0:01:59 0:05:43 606k 26 294M 26 76.9M 0 0 653k 0 0:07:41 0:02:00 0:05:41 652k 26 294M 26 77.6M 0 0 654k 0 0:07:41 0:02:01 0:05:40 665k 26 294M 26 78.2M 0 0 653k 0 0:07:41 0:02:02 0:05:39 675k 26 294M 26 78.7M 0 0 652k 0 0:07:42 0:02:03 0:05:39 653k 26 294M 26 79.3M 0 0 652k 0 0:07:42 0:02:04 0:05:38 650k 27 294M 27 79.9M 0 0 652k 0 0:07:42 0:02:05 0:05:37 620k 27 294M 27 80.6M 0 0 652k 0 0:07:42 0:02:06 0:05:36 620k 27 294M 27 81.2M 0 0 652k 0 0:07:42 0:02:07 0:05:35 617k 27 294M 27 81.8M 0 0 652k 0 0:07:42 0:02:08 0:05:34 645k 27 294M 27 82.4M 0 0 651k 0 0:07:43 0:02:09 0:05:34 636k 28 294M 28 83.1M 0 0 651k 0 0:07:43 0:02:10 0:05:33 638k 28 294M 28 83.8M 0 0 652k 0 0:07:42 0:02:11 0:05:31 655k 28 294M 28 84.3M 0 0 651k 0 0:07:43 0:02:12 0:05:31 633k 28 294M 28 84.8M 0 0 650k 0 0:07:43 0:02:13 0:05:30 608k 28 294M 28 85.3M 0 0 649k 0 0:07:44 0:02:14 0:05:30 589k 29 294M 29 85.7M 0 0 648k 0 0:07:45 0:02:15 0:05:30 551k 29 294M 29 86.4M 0 0 648k 0 0:07:45 0:02:16 0:05:29 535k 29 294M 29 87.2M 0 0 649k 0 0:07:44 0:02:17 0:05:27 601k 29 294M 29 87.9M 0 0 649k 0 0:07:44 0:02:18 0:05:26 627k 30 294M 30 88.6M 0 0 650k 0 0:07:44 0:02:19 0:05:25 675k 30 294M 30 89.3M 0 0 650k 0 0:07:43 0:02:20 0:05:23 719k 30 294M 30 89.9M 0 0 651k 0 0:07:43 0:02:21 0:05:22 719k 30 294M 30 90.6M 0 0 651k 0 0:07:43 0:02:22 0:05:21 689k 30 294M 30 91.3M 0 0 651k 0 0:07:43 0:02:23 0:05:20 694k 31 294M 31 91.9M 0 0 651k 0 0:07:43 0:02:24 0:05:19 674k 31 294M 31 92.5M 0 0 651k 0 0:07:43 0:02:25 0:05:18 669k 31 294M 31 93.1M 0 0 651k 0 0:07:43 0:02:26 0:05:17 659k 31 294M 31 93.8M 0 0 651k 0 0:07:43 0:02:27 0:05:16 653k 32 294M 32 94.5M 0 0 652k 0 0:07:43 0:02:28 0:05:15 666k 32 294M 32 95.1M 0 0 651k 0 0:07:43 0:02:29 0:05:14 666k 32 294M 32 95.7M 0 0 651k 0 0:07:43 0:02:30 0:05:13 655k 32 294M 32 96.2M 0 0 650k 0 0:07:43 0:02:31 0:05:12 630k 32 294M 32 96.8M 0 0 650k 0 0:07:44 0:02:32 0:05:12 628k 33 294M 33 97.5M 0 0 650k 0 0:07:44 0:02:33 0:05:11 610k 33 294M 33 98.0M 0 0 649k 0 0:07:44 0:02:34 0:05:10 582k 33 294M 33 98.6M 0 0 649k 0 0:07:44 0:02:35 0:05:09 584k 33 294M 33 99.1M 0 0 648k 0 0:07:45 0:02:36 0:05:09 597k 33 294M 33 99.7M 0 0 648k 0 0:07:45 0:02:37 0:05:08 585k 33 294M 33 100M 0 0 647k 0 0:07:46 0:02:38 0:05:08 546k 34 294M 34 100M 0 0 645k 0 0:07:47 0:02:39 0:05:08 521k 34 294M 34 101M 0 0 645k 0 0:07:48 0:02:40 0:05:08 509k 34 294M 34 101M 0 0 644k 0 0:07:48 0:02:41 0:05:07 509k 34 294M 34 102M 0 0 643k 0 0:07:48 0:02:42 0:05:06 499k 34 294M 34 102M 0 0 643k 0 0:07:49 0:02:43 0:05:06 511k 35 294M 35 103M 0 0 642k 0 0:07:49 0:02:44 0:05:05 540k 35 294M 35 103M 0 0 640k 0 0:07:51 0:02:45 0:05:06 508k 35 294M 35 104M 0 0 639k 0 0:07:52 0:02:46 0:05:06 476k 35 294M 35 104M 0 0 639k 0 0:07:52 0:02:47 0:05:05 495k 35 294M 35 105M 0 0 639k 0 0:07:52 0:02:48 0:05:04 515k 35 294M 35 105M 0 0 639k 0 0:07:52 0:02:49 0:05:03 537k 36 294M 36 106M 0 0 639k 0 0:07:51 0:02:50 0:05:01 598k 36 294M 36 107M 0 0 639k 0 0:07:51 0:02:51 0:05:00 649k 36 294M 36 107M 0 0 640k 0 0:07:51 0:02:52 0:04:59 663k 36 294M 36 108M 0 0 640k 0 0:07:51 0:02:53 0:04:58 678k 37 294M 37 109M 0 0 641k 0 0:07:50 0:02:54 0:04:56 698k 37 294M 37 109M 0 0 641k 0 0:07:50 0:02:55 0:04:55 691k 37 294M 37 110M 0 0 640k 0 0:07:51 0:02:56 0:04:55 662k 37 294M 37 111M 0 0 640k 0 0:07:51 0:02:57 0:04:54 650k 37 294M 37 111M 0 0 641k 0 0:07:50 0:02:58 0:04:52 665k 38 294M 38 112M 0 0 642k 0 0:07:50 0:02:59 0:04:51 682k 38 294M 38 113M 0 0 642k 0 0:07:50 0:03:00 0:04:50 681k 38 294M 38 113M 0 0 642k 0 0:07:50 0:03:01 0:04:49 701k 38 294M 38 114M 0 0 642k 0 0:07:50 0:03:02 0:04:48 698k 39 294M 39 115M 0 0 642k 0 0:07:49 0:03:03 0:04:46 681k 39 294M 39 115M 0 0 642k 0 0:07:50 0:03:04 0:04:46 645k 39 294M 39 116M 0 0 642k 0 0:07:49 0:03:05 0:04:44 647k 39 294M 39 117M 0 0 643k 0 0:07:49 0:03:06 0:04:43 691k 40 294M 40 118M 0 0 645k 0 0:07:47 0:03:07 0:04:40 765k 40 294M 40 118M 0 0 646k 0 0:07:47 0:03:08 0:04:39 785k 40 294M 40 119M 0 0 648k 0 0:07:45 0:03:09 0:04:36 864k 40 294M 40 120M 0 0 649k 0 0:07:45 0:03:10 0:04:35 893k 41 294M 41 121M 0 0 649k 0 0:07:44 0:03:11 0:04:33 867k 41 294M 41 122M 0 0 650k 0 0:07:44 0:03:12 0:04:32 828k 41 294M 41 122M 0 0 650k 0 0:07:43 0:03:13 0:04:30 825k 41 294M 41 123M 0 0 651k 0 0:07:43 0:03:14 0:04:29 761k 42 294M 42 124M 0 0 651k 0 0:07:43 0:03:15 0:04:28 732k 42 294M 42 125M 0 0 651k 0 0:07:43 0:03:16 0:04:27 735k 42 294M 42 125M 0 0 651k 0 0:07:43 0:03:17 0:04:26 707k 42 294M 42 126M 0 0 650k 0 0:07:43 0:03:18 0:04:25 656k 43 294M 43 126M 0 0 650k 0 0:07:43 0:03:19 0:04:24 643k 43 294M 43 127M 0 0 651k 0 0:07:43 0:03:20 0:04:23 644k 43 294M 43 127M 0 0 650k 0 0:07:44 0:03:21 0:04:23 598k 43 294M 43 128M 0 0 650k 0 0:07:44 0:03:22 0:04:22 601k 43 294M 43 129M 0 0 650k 0 0:07:44 0:03:23 0:04:21 614k 44 294M 44 129M 0 0 650k 0 0:07:44 0:03:24 0:04:20 627k 44 294M 44 130M 0 0 649k 0 0:07:44 0:03:25 0:04:19 604k 44 294M 44 131M 0 0 650k 0 0:07:44 0:03:26 0:04:18 642k 44 294M 44 131M 0 0 649k 0 0:07:44 0:03:27 0:04:17 632k 44 294M 44 132M 0 0 650k 0 0:07:44 0:03:28 0:04:16 649k 45 294M 45 133M 0 0 650k 0 0:07:44 0:03:29 0:04:15 662k 45 294M 45 133M 0 0 650k 0 0:07:44 0:03:30 0:04:14 678k 45 294M 45 134M 0 0 651k 0 0:07:43 0:03:31 0:04:12 714k 45 294M 45 135M 0 0 651k 0 0:07:43 0:03:32 0:04:11 712k 45 294M 45 135M 0 0 650k 0 0:07:44 0:03:33 0:04:11 659k 46 294M 46 136M 0 0 649k 0 0:07:44 0:03:34 0:04:10 621k 46 294M 46 136M 0 0 650k 0 0:07:44 0:03:35 0:04:09 643k 46 294M 46 137M 0 0 651k 0 0:07:43 0:03:36 0:04:07 633k 46 294M 46 138M 0 0 651k 0 0:07:43 0:03:37 0:04:06 675k 47 294M 47 139M 0 0 651k 0 0:07:43 0:03:38 0:04:05 697k 47 294M 47 139M 0 0 651k 0 0:07:43 0:03:39 0:04:04 716k 47 294M 47 140M 0 0 652k 0 0:07:43 0:03:40 0:04:03 723k 47 294M 47 141M 0 0 652k 0 0:07:42 0:03:41 0:04:01 697k 48 294M 48 141M 0 0 652k 0 0:07:43 0:03:42 0:04:01 655k 48 294M 48 142M 0 0 651k 0 0:07:43 0:03:43 0:04:00 652k 48 294M 48 142M 0 0 650k 0 0:07:43 0:03:44 0:03:59 620k 48 294M 48 143M 0 0 649k 0 0:07:44 0:03:45 0:03:59 537k 48 294M 48 143M 0 0 649k 0 0:07:44 0:03:46 0:03:58 531k 48 294M 48 144M 0 0 649k 0 0:07:44 0:03:47 0:03:57 549k 49 294M 49 144M 0 0 649k 0 0:07:44 0:03:48 0:03:56 556k 49 294M 49 145M 0 0 648k 0 0:07:45 0:03:49 0:03:56 563k 49 294M 49 145M 0 0 648k 0 0:07:45 0:03:50 0:03:55 582k 49 294M 49 146M 0 0 647k 0 0:07:46 0:03:51 0:03:55 556k 49 294M 49 146M 0 0 647k 0 0:07:46 0:03:52 0:03:54 522k 50 294M 50 147M 0 0 646k 0 0:07:46 0:03:53 0:03:53 533k 50 294M 50 148M 0 0 647k 0 0:07:46 0:03:54 0:03:52 569k 50 294M 50 148M 0 0 647k 0 0:07:46 0:03:55 0:03:51 611k 50 294M 50 149M 0 0 646k 0 0:07:46 0:03:56 0:03:50 620k 50 294M 50 150M 0 0 646k 0 0:07:46 0:03:57 0:03:49 635k 51 294M 51 150M 0 0 647k 0 0:07:46 0:03:58 0:03:48 676k 51 294M 51 151M 0 0 648k 0 0:07:45 0:03:59 0:03:46 693k 51 294M 51 152M 0 0 648k 0 0:07:45 0:04:00 0:03:45 710k 51 294M 51 153M 0 0 648k 0 0:07:45 0:04:01 0:03:44 736k 52 294M 52 153M 0 0 649k 0 0:07:45 0:04:02 0:03:43 764k 52 294M 52 154M 0 0 649k 0 0:07:44 0:04:03 0:03:41 761k 52 294M 52 155M 0 0 649k 0 0:07:44 0:04:04 0:03:40 724k 52 294M 52 155M 0 0 648k 0 0:07:45 0:04:05 0:03:40 652k 52 294M 52 155M 0 0 647k 0 0:07:46 0:04:06 0:03:40 580k 52 294M 52 156M 0 0 646k 0 0:07:47 0:04:07 0:03:40 504k 53 294M 53 156M 0 0 644k 0 0:07:48 0:04:08 0:03:40 399k 53 294M 53 157M 0 0 644k 0 0:07:48 0:04:09 0:03:39 393k 53 294M 53 157M 0 0 644k 0 0:07:48 0:04:10 0:03:38 429k 53 294M 53 158M 0 0 643k 0 0:07:49 0:04:11 0:03:38 441k 53 294M 53 158M 0 0 643k 0 0:07:49 0:04:12 0:03:37 481k 53 294M 53 158M 0 0 641k 0 0:07:50 0:04:13 0:03:37 492k 54 294M 54 159M 0 0 640k 0 0:07:51 0:04:14 0:03:37 450k 54 294M 54 159M 0 0 639k 0 0:07:52 0:04:15 0:03:37 381k 54 294M 54 159M 0 0 638k 0 0:07:53 0:04:16 0:03:37 373k 54 294M 54 160M 0 0 637k 0 0:07:53 0:04:17 0:03:36 367k 54 294M 54 161M 0 0 638k 0 0:07:52 0:04:18 0:03:34 468k 54 294M 54 161M 0 0 638k 0 0:07:52 0:04:19 0:03:33 542k 55 294M 55 162M 0 0 638k 0 0:07:52 0:04:20 0:03:32 623k 55 294M 55 163M 0 0 638k 0 0:07:52 0:04:21 0:03:31 686k 55 294M 55 163M 0 0 639k 0 0:07:52 0:04:22 0:03:30 716k 55 294M 55 164M 0 0 639k 0 0:07:51 0:04:23 0:03:28 719k 56 294M 56 165M 0 0 639k 0 0:07:52 0:04:24 0:03:28 671k 56 294M 56 165M 0 0 639k 0 0:07:52 0:04:25 0:03:27 668k 56 294M 56 166M 0 0 639k 0 0:07:51 0:04:26 0:03:25 675k 56 294M 56 167M 0 0 639k 0 0:07:51 0:04:27 0:03:24 665k 56 294M 56 167M 0 0 639k 0 0:07:52 0:04:28 0:03:24 594k 57 294M 57 168M 0 0 639k 0 0:07:52 0:04:29 0:03:23 620k 57 294M 57 168M 0 0 639k 0 0:07:52 0:04:30 0:03:22 631k 57 294M 57 169M 0 0 640k 0 0:07:51 0:04:31 0:03:20 659k 57 294M 57 170M 0 0 640k 0 0:07:51 0:04:32 0:03:19 682k 58 294M 58 171M 0 0 640k 0 0:07:51 0:04:33 0:03:18 716k 58 294M 58 171M 0 0 640k 0 0:07:51 0:04:34 0:03:17 726k 58 294M 58 171M 0 0 638k 0 0:07:52 0:04:35 0:03:17 621k 58 294M 58 172M 0 0 637k 0 0:07:53 0:04:36 0:03:17 508k 58 294M 58 172M 0 0 636k 0 0:07:53 0:04:37 0:03:16 441k 58 294M 58 172M 0 0 635k 0 0:07:54 0:04:38 0:03:16 384k 58 294M 58 173M 0 0 635k 0 0:07:55 0:04:39 0:03:16 338k 58 294M 58 173M 0 0 634k 0 0:07:55 0:04:40 0:03:15 410k 59 294M 59 174M 0 0 634k 0 0:07:55 0:04:41 0:03:14 457k 59 294M 59 175M 0 0 634k 0 0:07:55 0:04:42 0:03:13 519k 59 294M 59 175M 0 0 635k 0 0:07:55 0:04:43 0:03:12 587k 59 294M 59 176M 0 0 634k 0 0:07:55 0:04:44 0:03:11 622k 60 294M 60 177M 0 0 635k 0 0:07:54 0:04:45 0:03:09 678k 60 294M 60 177M 0 0 635k 0 0:07:54 0:04:46 0:03:08 710k 60 294M 60 178M 0 0 635k 0 0:07:55 0:04:47 0:03:08 655k 60 294M 60 178M 0 0 634k 0 0:07:55 0:04:48 0:03:07 592k 60 294M 60 179M 0 0 633k 0 0:07:56 0:04:49 0:03:07 564k 60 294M 60 179M 0 0 632k 0 0:07:57 0:04:50 0:03:07 468k 61 294M 61 179M 0 0 631k 0 0:07:57 0:04:51 0:03:06 411k 61 294M 61 180M 0 0 630k 0 0:07:58 0:04:52 0:03:06 368k 61 294M 61 180M 0 0 629k 0 0:07:59 0:04:53 0:03:06 369k 61 294M 61 180M 0 0 629k 0 0:07:59 0:04:54 0:03:05 365k 61 294M 61 181M 0 0 629k 0 0:07:59 0:04:55 0:03:04 419k 61 294M 61 182M 0 0 629k 0 0:07:59 0:04:56 0:03:03 491k 62 294M 62 183M 0 0 629k 0 0:07:59 0:04:57 0:03:02 585k 62 294M 62 183M 0 0 629k 0 0:07:59 0:04:58 0:03:01 613k 62 294M 62 183M 0 0 628k 0 0:08:00 0:04:59 0:03:01 602k 62 294M 62 184M 0 0 628k 0 0:08:00 0:05:00 0:03:00 570k 62 294M 62 184M 0 0 627k 0 0:08:01 0:05:01 0:03:00 510k 62 294M 62 185M 0 0 627k 0 0:08:01 0:05:02 0:02:59 486k 63 294M 63 185M 0 0 627k 0 0:08:01 0:05:03 0:02:58 508k 63 294M 63 186M 0 0 626k 0 0:08:01 0:05:04 0:02:57 505k 63 294M 63 186M 0 0 626k 0 0:08:02 0:05:05 0:02:57 507k 63 294M 63 187M 0 0 626k 0 0:08:01 0:05:06 0:02:55 558k 63 294M 63 188M 0 0 626k 0 0:08:02 0:05:07 0:02:55 551k 64 294M 64 188M 0 0 626k 0 0:08:01 0:05:08 0:02:53 581k 64 294M 64 189M 0 0 627k 0 0:08:01 0:05:09 0:02:52 662k 64 294M 64 190M 0 0 627k 0 0:08:00 0:05:10 0:02:50 716k 64 294M 64 190M 0 0 627k 0 0:08:01 0:05:11 0:02:50 694k 64 294M 64 191M 0 0 627k 0 0:08:00 0:05:12 0:02:48 716k 65 294M 65 192M 0 0 628k 0 0:08:00 0:05:13 0:02:47 717k 65 294M 65 192M 0 0 627k 0 0:08:00 0:05:14 0:02:46 654k 65 294M 65 193M 0 0 627k 0 0:08:01 0:05:15 0:02:46 620k 65 294M 65 194M 0 0 628k 0 0:08:00 0:05:16 0:02:44 662k 66 294M 66 195M 0 0 628k 0 0:08:00 0:05:17 0:02:43 703k 66 294M 66 195M 0 0 629k 0 0:07:59 0:05:18 0:02:41 709k 66 294M 66 196M 0 0 629k 0 0:07:59 0:05:19 0:02:40 721k 66 294M 66 196M 0 0 629k 0 0:07:59 0:05:20 0:02:39 723k 67 294M 67 197M 0 0 629k 0 0:07:59 0:05:21 0:02:38 714k 67 294M 67 198M 0 0 629k 0 0:07:59 0:05:22 0:02:37 674k 67 294M 67 198M 0 0 629k 0 0:07:59 0:05:23 0:02:36 647k 67 294M 67 199M 0 0 630k 0 0:07:59 0:05:24 0:02:35 690k 67 294M 67 200M 0 0 629k 0 0:07:59 0:05:25 0:02:34 644k 68 294M 68 200M 0 0 628k 0 0:08:00 0:05:26 0:02:34 590k 68 294M 68 200M 0 0 627k 0 0:08:00 0:05:27 0:02:33 521k 68 294M 68 201M 0 0 628k 0 0:08:00 0:05:28 0:02:32 521k 68 294M 68 202M 0 0 628k 0 0:08:00 0:05:29 0:02:31 502k 68 294M 68 202M 0 0 627k 0 0:08:01 0:05:30 0:02:31 506k 68 294M 68 202M 0 0 626k 0 0:08:01 0:05:31 0:02:30 498k 68 294M 68 203M 0 0 626k 0 0:08:01 0:05:32 0:02:29 527k 69 294M 69 203M 0 0 626k 0 0:08:02 0:05:33 0:02:29 498k 69 294M 69 204M 0 0 625k 0 0:08:03 0:05:34 0:02:29 414k 69 294M 69 204M 0 0 624k 0 0:08:03 0:05:35 0:02:28 448k 69 294M 69 205M 0 0 624k 0 0:08:03 0:05:36 0:02:27 493k 69 294M 69 206M 0 0 625k 0 0:08:03 0:05:37 0:02:26 528k 70 294M 70 206M 0 0 625k 0 0:08:02 0:05:38 0:02:24 579k 70 294M 70 207M 0 0 625k 0 0:08:02 0:05:39 0:02:23 645k 70 294M 70 207M 0 0 625k 0 0:08:02 0:05:40 0:02:22 659k 70 294M 70 208M 0 0 625k 0 0:08:03 0:05:41 0:02:22 637k 70 294M 70 209M 0 0 624k 0 0:08:03 0:05:42 0:02:21 615k 71 294M 71 209M 0 0 624k 0 0:08:03 0:05:43 0:02:20 595k 71 294M 71 210M 0 0 624k 0 0:08:03 0:05:44 0:02:19 574k 71 294M 71 210M 0 0 624k 0 0:08:03 0:05:45 0:02:18 568k 71 294M 71 211M 0 0 624k 0 0:08:03 0:05:46 0:02:17 564k 71 294M 71 211M 0 0 624k 0 0:08:03 0:05:47 0:02:16 601k 72 294M 72 212M 0 0 624k 0 0:08:03 0:05:48 0:02:15 594k 72 294M 72 213M 0 0 624k 0 0:08:03 0:05:49 0:02:14 612k 72 294M 72 213M 0 0 624k 0 0:08:03 0:05:50 0:02:13 636k 72 294M 72 214M 0 0 624k 0 0:08:03 0:05:51 0:02:12 651k 72 294M 72 215M 0 0 624k 0 0:08:03 0:05:52 0:02:11 627k 73 294M 73 215M 0 0 624k 0 0:08:03 0:05:53 0:02:10 643k 73 294M 73 216M 0 0 624k 0 0:08:03 0:05:54 0:02:09 638k 73 294M 73 216M 0 0 624k 0 0:08:03 0:05:55 0:02:08 611k 73 294M 73 217M 0 0 624k 0 0:08:03 0:05:56 0:02:07 624k 74 294M 74 218M 0 0 626k 0 0:08:01 0:05:57 0:02:04 783k 74 294M 74 221M 0 0 631k 0 0:07:58 0:05:58 0:02:00 1107k 76 294M 76 224M 0 0 638k 0 0:07:52 0:05:59 0:01:53 1653k 77 294M 77 228M 0 0 648k 0 0:07:45 0:06:00 0:01:45 2388k 79 294M 79 233M 0 0 661k 0 0:07:36 0:06:01 0:01:35 3283k 79 294M 79 235M 0 0 665k 0 0:07:33 0:06:02 0:01:31 3464k 80 294M 80 237M 0 0 667k 0 0:07:32 0:06:03 0:01:29 3236k 80 294M 80 237M 0 0 668k 0 0:07:31 0:06:04 0:01:27 2774k 80 294M 80 238M 0 0 668k 0 0:07:31 0:06:05 0:01:26 2077k 81 294M 81 239M 0 0 668k 0 0:07:31 0:06:06 0:01:25 1159k 81 294M 81 239M 0 0 667k 0 0:07:32 0:06:07 0:01:25 794k 81 294M 81 240M 0 0 667k 0 0:07:32 0:06:08 0:01:24 627k 81 294M 81 240M 0 0 667k 0 0:07:32 0:06:09 0:01:23 566k 81 294M 81 241M 0 0 666k 0 0:07:32 0:06:10 0:01:22 554k 82 294M 82 241M 0 0 666k 0 0:07:32 0:06:11 0:01:21 551k 82 294M 82 242M 0 0 666k 0 0:07:32 0:06:12 0:01:20 599k 82 294M 82 243M 0 0 666k 0 0:07:32 0:06:13 0:01:19 601k 82 294M 82 243M 0 0 666k 0 0:07:32 0:06:14 0:01:18 634k 82 294M 82 244M 0 0 666k 0 0:07:32 0:06:15 0:01:17 653k 83 294M 83 245M 0 0 666k 0 0:07:32 0:06:16 0:01:16 663k 83 294M 83 245M 0 0 666k 0 0:07:33 0:06:17 0:01:16 631k 83 294M 83 245M 0 0 665k 0 0:07:33 0:06:18 0:01:15 588k 83 294M 83 246M 0 0 665k 0 0:07:33 0:06:19 0:01:14 571k 83 294M 83 247M 0 0 665k 0 0:07:33 0:06:20 0:01:13 581k 84 294M 84 247M 0 0 665k 0 0:07:33 0:06:21 0:01:12 585k 84 294M 84 248M 0 0 665k 0 0:07:33 0:06:22 0:01:11 608k 84 294M 84 249M 0 0 665k 0 0:07:33 0:06:23 0:01:10 669k 84 294M 84 249M 0 0 665k 0 0:07:33 0:06:24 0:01:09 675k 84 294M 84 250M 0 0 665k 0 0:07:33 0:06:25 0:01:08 668k 85 294M 85 251M 0 0 665k 0 0:07:33 0:06:26 0:01:07 671k 85 294M 85 251M 0 0 665k 0 0:07:33 0:06:27 0:01:06 672k 85 294M 85 252M 0 0 665k 0 0:07:33 0:06:28 0:01:05 697k 85 294M 85 253M 0 0 666k 0 0:07:32 0:06:29 0:01:03 742k 86 294M 86 254M 0 0 666k 0 0:07:32 0:06:30 0:01:02 738k 86 294M 86 254M 0 0 666k 0 0:07:32 0:06:31 0:01:01 749k 86 294M 86 255M 0 0 666k 0 0:07:32 0:06:32 0:01:00 755k 86 294M 86 256M 0 0 667k 0 0:07:32 0:06:33 0:00:59 749k 87 294M 87 256M 0 0 666k 0 0:07:32 0:06:34 0:00:58 693k 87 294M 87 257M 0 0 666k 0 0:07:32 0:06:35 0:00:57 666k 87 294M 87 257M 0 0 665k 0 0:07:33 0:06:36 0:00:57 601k 87 294M 87 258M 0 0 665k 0 0:07:33 0:06:37 0:00:56 544k 87 294M 87 258M 0 0 664k 0 0:07:34 0:06:38 0:00:56 466k 87 294M 87 259M 0 0 663k 0 0:07:34 0:06:39 0:00:55 431k 88 294M 88 259M 0 0 663k 0 0:07:34 0:06:40 0:00:54 431k 88 294M 88 260M 0 0 663k 0 0:07:34 0:06:41 0:00:53 483k 88 294M 88 260M 0 0 663k 0 0:07:35 0:06:42 0:00:53 521k 88 294M 88 261M 0 0 663k 0 0:07:34 0:06:43 0:00:51 599k 88 294M 88 262M 0 0 663k 0 0:07:34 0:06:44 0:00:50 643k 89 294M 89 262M 0 0 663k 0 0:07:35 0:06:45 0:00:50 643k 89 294M 89 263M 0 0 663k 0 0:07:35 0:06:46 0:00:49 620k 89 294M 89 263M 0 0 662k 0 0:07:35 0:06:47 0:00:48 620k 89 294M 89 264M 0 0 662k 0 0:07:35 0:06:48 0:00:47 595k 89 294M 89 265M 0 0 662k 0 0:07:35 0:06:49 0:00:46 582k 90 294M 90 265M 0 0 662k 0 0:07:35 0:06:50 0:00:45 627k 90 294M 90 266M 0 0 662k 0 0:07:35 0:06:51 0:00:44 634k 90 294M 90 266M 0 0 662k 0 0:07:35 0:06:52 0:00:43 616k 90 294M 90 267M 0 0 662k 0 0:07:35 0:06:53 0:00:42 610k 90 294M 90 268M 0 0 662k 0 0:07:35 0:06:54 0:00:41 665k 91 294M 91 269M 0 0 663k 0 0:07:35 0:06:55 0:00:40 675k 91 294M 91 269M 0 0 663k 0 0:07:35 0:06:56 0:00:39 710k 91 294M 91 270M 0 0 662k 0 0:07:35 0:06:57 0:00:38 713k 91 294M 91 270M 0 0 662k 0 0:07:35 0:06:58 0:00:37 668k 91 294M 91 271M 0 0 661k 0 0:07:36 0:06:59 0:00:37 587k 92 294M 92 271M 0 0 660k 0 0:07:36 0:07:00 0:00:36 475k 92 294M 92 271M 0 0 660k 0 0:07:37 0:07:01 0:00:36 390k 92 294M 92 272M 0 0 659k 0 0:07:37 0:07:02 0:00:35 358k 92 294M 92 272M 0 0 658k 0 0:07:38 0:07:03 0:00:35 334k 92 294M 92 272M 0 0 657k 0 0:07:39 0:07:04 0:00:35 306k 92 294M 92 273M 0 0 657k 0 0:07:39 0:07:05 0:00:34 339k 92 294M 92 273M 0 0 656k 0 0:07:39 0:07:06 0:00:33 403k 92 294M 92 274M 0 0 656k 0 0:07:39 0:07:07 0:00:32 435k 93 294M 93 274M 0 0 656k 0 0:07:39 0:07:08 0:00:31 496k 93 294M 93 275M 0 0 656k 0 0:07:39 0:07:09 0:00:30 557k 93 294M 93 275M 0 0 656k 0 0:07:40 0:07:10 0:00:30 589k 93 294M 93 276M 0 0 656k 0 0:07:40 0:07:11 0:00:29 572k 93 294M 93 277M 0 0 656k 0 0:07:40 0:07:12 0:00:28 604k 94 294M 94 277M 0 0 656k 0 0:07:40 0:07:13 0:00:27 623k 94 294M 94 278M 0 0 656k 0 0:07:40 0:07:14 0:00:26 637k 94 294M 94 279M 0 0 656k 0 0:07:39 0:07:15 0:00:24 681k 94 294M 94 279M 0 0 656k 0 0:07:39 0:07:16 0:00:23 704k 95 294M 95 280M 0 0 656k 0 0:07:39 0:07:17 0:00:22 691k 95 294M 95 280M 0 0 656k 0 0:07:40 0:07:18 0:00:22 637k 95 294M 95 281M 0 0 655k 0 0:07:40 0:07:19 0:00:21 590k 95 294M 95 281M 0 0 655k 0 0:07:40 0:07:20 0:00:20 528k 95 294M 95 282M 0 0 654k 0 0:07:41 0:07:21 0:00:20 492k 95 294M 95 283M 0 0 654k 0 0:07:40 0:07:22 0:00:18 516k 96 294M 96 284M 0 0 657k 0 0:07:39 0:07:23 0:00:16 760k 97 294M 97 287M 0 0 661k 0 0:07:36 0:07:24 0:00:12 1208k 98 294M 98 290M 0 0 668k 0 0:07:31 0:07:25 0:00:06 1830k 100 294M 100 294M 0 0 676k 0 0:07:26 0:07:26 --:--:-- 2614k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 391k 100 391k 0 0 228k 0 0:00:01 0:00:01 --:--:-- 230k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=9c635b0506f42e64cf04372c637dc42e18d599e8, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.22.1 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[2/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[3/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[6/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[22/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[25/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[28/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[33/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[35/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[40/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[41/93] Linking C shared library libz.so.1.3.0.zlib-ng +[42/93] Creating library symlink libz.so.1 libz.so +[43/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[62/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[74/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[75/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[76/93] Building C object test/CMakeFiles/example.dir/example.c.o +[77/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[78/93] Linking C executable switchlevels +[79/93] Linking C static library libz.a +[80/93] Linking C executable example +[81/93] Linking C executable minideflate +[82/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Linking C executable minigzip +[85/93] Linking C executable infcover +[86/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[87/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[88/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[89/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[90/93] Linking C executable makefixed +[91/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[92/93] Linking C executable maketrees +[93/93] Linking C executable makecrct ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 16:50:28 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 16:50:29 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 16:50:30 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpclpldvyg ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpclpldvyg +Wed Apr 10 16:50:35 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpclpldvyg ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpclpldvyg +Wed Apr 10 16:52:13 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpclpldvyg ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpclpldvyg +Wed Apr 10 16:52:33 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpclpldvyg ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpclpldvyg +Wed Apr 10 16:52:49 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 16:52:50 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-16_52_58.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-16_52_58.log new file mode 100644 index 00000000..1d6aaa65 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-16_52_58.log @@ -0,0 +1,899 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 16:53:01 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 16:53:06 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmptn85axfh ++ '[' -z '' ']' ++ tmpfile=/tmp/tmptn85axfh ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptn85axfh ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmptn85axfh +Wed Apr 10 16:56:19 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmptn85axfh ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 20.8M 0 155k 0 0 91703 0 0:03:58 0:00:01 0:03:57 92279 26 20.8M 26 5771k 0 0 2076k 0 0:00:10 0:00:02 0:00:08 2085k 62 20.8M 62 13.0M 0 0 3531k 0 0:00:06 0:00:03 0:00:03 3541k 97 20.8M 97 20.3M 0 0 4381k 0 0:00:04 0:00:04 --:--:-- 4391k 100 20.8M 100 20.8M 0 0 4429k 0 0:00:04 0:00:04 --:--:-- 6297k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 16:56:27 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 16:56:28 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ grep 'Package declares' ++ ruyi list ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ grep -e '^* toolchain' +++ ruyi list +++ cut -d/ -f 2 ++ pkgnames='gnu-upstream +gnu-plct +gnu-plct-xthead +gnu-plct-rv64ilp32-elf +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ grep -e '^ -' +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-upstream/ {if (f==0) f=1}' +++ grep -v 'no binary for current host' ++ s=' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ++ '[' '!' -z ' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ']' ++ pkgname=gnu-upstream ++ break ++ '[' -z gnu-upstream ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-risc +v64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-riscv +64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-risc +v64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep 'skipping already installed package' ++ ruyi install gnu-upstream +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep 'skipping already installed package' ++ ruyi install name:gnu-upstream +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17 +125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 671 100 671 0 0 471 0 0:00:01 0:00:01 --:--:-- 475 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptn85axfh ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmptn85axfh +Wed Apr 10 17:08:45 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmptn85axfh ']' ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptn85axfh ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmptn85axfh +Wed Apr 10 17:10:01 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z /tmp/tmptn85axfh ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptn85axfh ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmptn85axfh +Wed Apr 10 17:10:06 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmptn85axfh ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 7 20.8M 7 1577k 0 0 861k 0 0:00:24 0:00:01 0:00:23 867k 42 20.8M 42 9129k 0 0 3203k 0 0:00:06 0:00:02 0:00:04 3215k 82 20.8M 82 17.3M 0 0 4529k 0 0:00:04 0:00:03 0:00:01 4542k 100 20.8M 100 20.8M 0 0 4927k 0 0:00:04 0:00:04 --:--:-- 4941k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 17:10:39 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 17:10:40 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 17:10:41 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmptn85axfh ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptn85axfh +Wed Apr 10 17:10:46 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptn85axfh ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptn85axfh +Wed Apr 10 17:12:15 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 17:12:18 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_44_54.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_44_54.log new file mode 100644 index 00000000..5caaa856 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_44_54.log @@ -0,0 +1,247 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 13:44:57 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:45:04 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpsa13lxfy ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpsa13lxfy ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpsa13lxfy ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpsa13lxfy +Wed Apr 10 13:48:22 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpsa13lxfy ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 17 20.8M 17 3652k 0 0 1664k 0 0:00:12 0:00:02 0:00:10 1673k 52 20.8M 52 10.9M 0 0 3475k 0 0:00:06 0:00:03 0:00:03 3488k 87 20.8M 87 18.3M 0 0 4474k 0 0:00:04 0:00:04 --:--:-- 4487k 100 20.8M 100 20.8M 0 0 4733k 0 0:00:04 0:00:04 --:--:-- 4744k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 13:48:30 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 13:48:31 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Temporary failure in name resolution ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 13:50:21 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 13:50:22 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 13:50:23 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpsa13lxfy ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsa13lxfy +Wed Apr 10 13:50:28 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsa13lxfy ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsa13lxfy +Wed Apr 10 13:51:53 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 13:51:56 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-14_09_20.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-14_09_20.log new file mode 100644 index 00000000..a783f25d --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-14_09_20.log @@ -0,0 +1,2805 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 14:09:23 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 14:09:28 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp0hsmkzr6 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp0hsmkzr6 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp0hsmkzr6 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp0hsmkzr6 +Wed Apr 10 14:12:49 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp0hsmkzr6 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 19 20.8M 19 4119k 0 0 1696k 0 0:00:12 0:00:02 0:00:10 1705k 59 20.8M 59 12.4M 0 0 3612k 0 0:00:05 0:00:03 0:00:02 3625k 94 20.8M 94 19.8M 0 0 4470k 0 0:00:04 0:00:04 --:--:-- 4482k 100 20.8M 100 20.8M 0 0 4554k 0 0:00:04 0:00:04 --:--:-- 6242k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 14:12:57 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 14:12:58 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 4583 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 4403k 8707k 12.7M 16.9M 22.1M 26.3M 31.6M 35.8M 40.0M 45.3M 49.5M 54.8M 59.0M 64.2M 68.4M 73.7M 77.9M 82.1M 87.4M 91.6M 96.8M 101M 106M 110M 114M 118M 124M 128M 132M 137M 142M 147M 151M 157M 163M 169M 173M 178M ' +++ echo Received Spent 0 0 0 4403k 8707k 12.7M 16.9M 22.1M 26.3M 31.6M 35.8M 40.0M 45.3M 49.5M 54.8M 59.0M 64.2M 68.4M 73.7M 77.9M 82.1M 87.4M 91.6M 96.8M 101M 106M 110M 114M 118M 124M 128M 132M 137M 142M 147M 151M 157M 163M 169M 173M 178M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 4403k =~ [0-9]+ ]] ++ [[ 4403k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 4581 Done nohup echo -e "$now_exec" + 4582 Exit 120 | ruyi device provision 2>&1 + 4583 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 4716 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 3954k 10.1M 17.5M 23.8M 30.1M 36.4M 43.8M 49.1M 54.7M 62.2M 68.5M 75.8M 83.2M 90.6M 96.9M 103M 110M 117M 125M 131M 139M 146M 152M 160M 167M 174M 182M 188M 195M 203M 210M 217M 225M 231M 238M 246M 253M 261M 267M ' +++ echo Received Spent 0 0 0 3954k 10.1M 17.5M 23.8M 30.1M 36.4M 43.8M 49.1M 54.7M 62.2M 68.5M 75.8M 83.2M 90.6M 96.9M 103M 110M 117M 125M 131M 139M 146M 152M 160M 167M 174M 182M 188M 195M 203M 210M 217M 225M 231M 238M 246M 253M 261M 267M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3954k =~ [0-9]+ ]] ++ [[ 3954k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ awk '{print $2}' +++ tail -1 +++ grep Choice /tmp/ruyi_device/output ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 4714 Done nohup echo -e "$now_exec" + 4715 Exit 120 | ruyi device provision 2>&1 + 4716 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ SLEEP_WAIT 1m ++ tee ++ ruyi device provision ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 4906 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 3343k 10.5M 18.0M 25.7M 33.4M 41.1M 49.1M 56.8M 64.5M 72.5M 80.3M 88.2M 96.3M 104M 112M 120M 129M 137M 145M 153M 161M 168M 176M 184M 192M 200M 209M 209M ' +++ echo Received Spent 0 0 3343k 10.5M 18.0M 25.7M 33.4M 41.1M 49.1M 56.8M 64.5M 72.5M 80.3M 88.2M 96.3M 104M 112M 120M 129M 137M 145M 153M 161M 168M 176M 184M 192M 200M 209M 209M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3343k =~ [0-9]+ ]] ++ [[ 3343k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 4904 Done nohup echo -e "$now_exec" + 4905 Exit 120 | ruyi device provision 2>&1 + 4906 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ ruyi device provision ++ echo -e 'y\n2\n1\n2' ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 5035 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 2911k 10.3M 18.4M 26.2M 33.8M 41.3M 49.0M 56.5M 64.1M 71.9M 79.6M 87.5M 95.4M 103M 111M 118M 126M 134M 142M 150M 158M 166M 173M 181M 189M 194M ' +++ echo Received Spent 0 0 2911k 10.3M 18.4M 26.2M 33.8M 41.3M 49.0M 56.5M 64.1M 71.9M 79.6M 87.5M 95.4M 103M 111M 118M 126M 134M 142M 150M 158M 166M 173M 181M 189M 194M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2911k =~ [0-9]+ ]] ++ [[ 2911k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 5033 Done nohup echo -e "$now_exec" + 5034 Exit 120 | ruyi device provision 2>&1 + 5035 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ ruyi device provision ++ tee ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 5225 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Received +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110k 683k 3227k 5355k 8315k 12.4M 14.6M 18.8M 19.5M 24.1M 26.9M 29.4M 30.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110k 683k 3227k 5355k 8315k 12.4M 14.6M 18.8M 19.5M 24.1M 26.9M 29.4M 30.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 110k =~ [0-9]+ ]] ++ [[ 110k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 5223 Done nohup echo -e "$now_exec" + 5224 Exit 120 | ruyi device provision 2>&1 + 5225 Killed | tee > /tmp/ruyi_device/output ++ kill -9 5349 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 52999 187k 907k 1307k 2619k 3659k 4987k 6347k 7755k 9755k 10.9M 13.0M 14.9M 17.1M 19.5M 22.5M 25.2M 27.5M 28.6M 29.7M 30.1M 32.2M 34.9M 38.1M 40.7M 44.6M 48.7M 52.0M 55.3M 57.4M 59.1M ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 52999 187k 907k 1307k 2619k 3659k 4987k 6347k 7755k 9755k 10.9M 13.0M 14.9M 17.1M 19.5M 22.5M 25.2M 27.5M 28.6M 29.7M 30.1M 32.2M 34.9M 38.1M 40.7M 44.6M 48.7M 52.0M 55.3M 57.4M 59.1M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 52999 =~ [0-9]+ ]] ++ [[ 52999 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 5347 Done nohup echo -e "$now_exec" + 5348 Exit 120 | ruyi device provision 2>&1 + 5349 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ sed 's$/$_$g' +++ echo -E y312n ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 5507 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 22030 319k 1856k 3567k 6623k 8399k 9.9M 12.8M 15.8M 18.0M 21.6M 24.8M 27.9M 30.4M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 22030 319k 1856k 3567k 6623k 8399k 9.9M 12.8M 15.8M 18.0M 21.6M 24.8M 27.9M 30.4M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 22030 =~ [0-9]+ ]] ++ [[ 22030 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 5505 Done nohup echo -e "$now_exec" + 5506 Exit 120 | ruyi device provision 2>&1 + 5507 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 5636 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 90868 632k 3128k 6584k 9576k 10.4M 12.4M 12.8M 15.2M 16.7M 18.4M 19.6M 20.8M 22.6M 24.2M 25.9M 25.9M 29.2M 31.3M 32.9M 35.3M 38.4M 41.3M 45.2M 47.2M 47.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 90868 632k 3128k 6584k 9576k 10.4M 12.4M 12.8M 15.2M 16.7M 18.4M 19.6M 20.8M 22.6M 24.2M 25.9M 25.9M 29.2M 31.3M 32.9M 35.3M 38.4M 41.3M 45.2M 47.2M 47.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 90868 =~ [0-9]+ ]] ++ [[ 90868 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 5634 Done nohup echo -e "$now_exec" + 5635 Exit 120 | ruyi device provision 2>&1 + 5636 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 5828 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 6881 430k 2510k 4686k 6142k 7678k 8958k 10.4M 11.8M 13.6M 14.9M 16.5M 18.1M 21.9M 24.5M 29.6M 33.0M 34.7M 36.5M 39.7M 44.4M 48.8M 51.2M 51.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 6881 430k 2510k 4686k 6142k 7678k 8958k 10.4M 11.8M 13.6M 14.9M 16.5M 18.1M 21.9M 24.5M 29.6M 33.0M 34.7M 36.5M 39.7M 44.4M 48.8M 51.2M 51.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 6881 =~ [0-9]+ ]] ++ [[ 6881 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n4\n1\n1\ny' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision +./common/device_lib.sh: line 37: 5826 Done nohup echo -e "$now_exec" + 5827 Exit 120 | ruyi device provision 2>&1 + 5828 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ awk '{print $3}' +++ echo Happy 'hacking!' 1 1 ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-14:34:11.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 14:34:14 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 14:34:15 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 14:34:16 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp0hsmkzr6 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0hsmkzr6 +Wed Apr 10 14:34:21 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0hsmkzr6 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0hsmkzr6 +Wed Apr 10 14:35:46 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 14:35:49 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-14_34_11.tar.gz b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-14_34_11.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f515c7d9fa740e0264965236074ffc2d09d708c6 GIT binary patch literal 8086 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 literal 0 HcmV?d00001 diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-17_12_25.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-17_12_25.log new file mode 100644 index 00000000..a8f5cda4 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-17_12_25.log @@ -0,0 +1,318 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 17:12:28 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 17:12:32 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp8f3recs8 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp8f3recs8 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp8f3recs8 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp8f3recs8 +Wed Apr 10 17:15:37 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp8f3recs8 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 6 20.8M 6 1354k 0 0 740k 0 0:00:28 0:00:01 0:00:27 744k 31 20.8M 31 6666k 0 0 2458k 0 0:00:08 0:00:02 0:00:06 2468k 66 20.8M 66 13.8M 0 0 3698k 0 0:00:05 0:00:03 0:00:02 3709k 96 20.8M 96 20.1M 0 0 4381k 0 0:00:04 0:00:04 --:--:-- 4392k 100 20.8M 100 20.8M 0 0 4443k 0 0:00:04 0:00:04 --:--:-- 6086k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 17:15:45 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 17:15:46 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting +objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting +objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting +objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting +objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting +objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting +objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting +objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting +objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing +objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% +(69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: +26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing +objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% +(122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% +(135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% +(241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% +(253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 11 42.8M 11 5131k 0 0 2038k 0 0:00:21 0:00:02 0:00:19 2059k 28 42.8M 28 12.3M 0 0 3562k 0 0:00:12 0:00:03 0:00:09 3588k 43 42.8M 43 18.6M 0 0 4274k 0 0:00:10 0:00:04 0:00:06 4298k 60 42.8M 60 26.0M 0 0 4819k 0 0:00:09 0:00:05 0:00:04 4841k 73 42.8M 73 31.3M 0 0 4848k 0 0:00:09 0:00:06 0:00:03 6228k 82 42.8M 82 35.5M 0 0 4880k 0 0:00:08 0:00:07 0:00:01 6329k 95 42.8M 95 40.7M 0 0 4907k 0 0:00:08 0:00:08 --:--:-- 5871k 100 42.8M 100 42.8M 0 0 4916k 0 0:00:08 0:00:08 --:--:-- 5564k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.202402 +23.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 17:18:23 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 17:18:25 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 17:18:26 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp8f3recs8 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp8f3recs8 +Wed Apr 10 17:18:31 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp8f3recs8 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp8f3recs8 +Wed Apr 10 17:19:58 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 17:20:01 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-15_48_29.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-15_48_29.log new file mode 100644 index 00000000..32da0867 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-15_48_29.log @@ -0,0 +1,269 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 15:48:32 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 15:48:37 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpjr0n7djt ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpjr0n7djt ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpjr0n7djt ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpjr0n7djt +Wed Apr 10 15:51:48 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpjr0n7djt ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 5 20.8M 5 1260k 0 0 673k 0 0:00:31 0:00:01 0:00:30 677k 24 20.8M 24 5196k 0 0 1928k 0 0:00:11 0:00:02 0:00:09 1936k 50 20.8M 50 10.5M 0 0 2797k 0 0:00:07 0:00:03 0:00:04 2805k 75 20.8M 75 15.7M 0 0 3409k 0 0:00:06 0:00:04 0:00:02 3417k 100 20.8M 100 20.8M 0 0 3853k 0 0:00:05 0:00:05 --:--:-- 5013k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 15:51:56 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 15:51:58 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing +objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 231M 0 763k 0 0 424k 0 0:09:18 0:00:01 0:09:17 427k 3 231M 3 8571k 0 0 2977k 0 0:01:19 0:00:02 0:01:17 2988k 6 231M 6 14.6M 0 0 3944k 0 0:01:00 0:00:03 0:00:57 3956k 9 231M 9 22.0M 0 0 4646k 0 0:00:50 0:00:04 0:00:46 4656k 12 231M 12 29.4M 0 0 5171k 0 0:00:45 0:00:05 0:00:40 6740k 16 231M 16 37.8M 0 0 5631k 0 0:00:42 0:00:06 0:00:36 7475k 19 231M 19 45.1M 0 0 5837k 0 0:00:40 0:00:07 0:00:33 7467k 22 231M 22 52.5M 0 0 6032k 0 0:00:39 0:00:08 0:00:31 7589k 25 231M 25 59.9M 0 0 6235k 0 0:00:37 0:00:09 0:00:28 7786k 29 231M 29 68.3M 0 0 6399k 0 0:00:37 0:00:10 0:00:27 7799k 32 231M 32 74.6M 0 0 6469k 0 0:00:36 0:00:11 0:00:25 7637k 35 231M 35 82.0M 0 0 6546k 0 0:00:36 0:00:12 0:00:24 7694k 39 231M 39 90.4M 0 0 6649k 0 0:00:35 0:00:13 0:00:22 7750k 42 231M 42 97.7M 0 0 6742k 0 0:00:35 0:00:14 0:00:21 7736k 45 231M 45 105M 0 0 6809k 0 0:00:34 0:00:15 0:00:19 7727k 49 231M 49 113M 0 0 6879k 0 0:00:34 0:00:16 0:00:18 7831k 52 231M 52 120M 0 0 6936k 0 0:00:34 0:00:17 0:00:17 7933k 55 231M 55 129M 0 0 6997k 0 0:00:33 0:00:18 0:00:15 7969k 59 231M 59 136M 0 0 7035k 0 0:00:33 0:00:19 0:00:14 7900k 62 231M 62 144M 0 0 7057k 0 0:00:33 0:00:20 0:00:13 7828k 65 231M 65 151M 0 0 7086k 0 0:00:33 0:00:21 0:00:12 7786k 69 231M 69 159M 0 0 7151k 0 0:00:33 0:00:22 0:00:11 7911k 72 231M 72 168M 0 0 7217k 0 0:00:32 0:00:23 0:00:09 8053k 76 231M 76 176M 0 0 7270k 0 0:00:32 0:00:24 0:00:08 8210k 79 231M 79 184M 0 0 7302k 0 0:00:32 0:00:25 0:00:07 8349k 83 231M 83 192M 0 0 7346k 0 0:00:32 0:00:26 0:00:06 8496k 86 231M 86 200M 0 0 7383k 0 0:00:32 0:00:27 0:00:05 8450k 90 231M 90 209M 0 0 7409k 0 0:00:31 0:00:28 0:00:03 8321k 93 231M 93 216M 0 0 7437k 0 0:00:31 0:00:29 0:00:02 8276k 97 231M 97 225M 0 0 7459k 0 0:00:31 0:00:30 0:00:01 8252k 100 231M 100 231M 0 0 7485k 0 0:00:31 0:00:31 --:--:-- 8259k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 15:59:43 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 15:59:45 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 15:59:46 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpjr0n7djt ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjr0n7djt +Wed Apr 10 15:59:51 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjr0n7djt ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpjr0n7djt +Wed Apr 10 16:01:18 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 16:01:28 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-17_26_07.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-17_26_07.log new file mode 100644 index 00000000..4f96fd3e --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-17_26_07.log @@ -0,0 +1,181 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 17:26:11 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 17:26:15 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpgeqlpiii ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpgeqlpiii ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpgeqlpiii ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpgeqlpiii +Wed Apr 10 17:29:29 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpgeqlpiii ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 20.8M 0 79640 0 0 51830 0 0:07:02 0:00:01 0:07:01 52188 26 20.8M 26 5582k 0 0 2107k 0 0:00:10 0:00:02 0:00:08 2116k 55 20.8M 55 11.6M 0 0 3384k 0 0:00:06 0:00:03 0:00:03 3395k 87 20.8M 87 18.2M 0 0 4127k 0 0:00:05 0:00:04 0:00:01 4137k 100 20.8M 100 20.8M 0 0 4363k 0 0:00:04 0:00:04 --:--:-- 5906k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 17:29:37 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 17:29:38 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' riscv64 == riscv64 ']' ++ qemu_pkg= ++ qemu_cmd= ++ qemu_bin= ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No llvm-upstream available for current host riscv64, skip' ++ message='No llvm-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No llvm-upstream available for current host riscv64, skip' +Wed Apr 10 17:30:29 2024 - INFO - No llvm-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 17:30:31 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpgeqlpiii ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpgeqlpiii +Wed Apr 10 17:30:35 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpgeqlpiii ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpgeqlpiii +Wed Apr 10 17:32:01 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 17:32:04 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-15_10_18.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-15_10_18.log new file mode 100644 index 00000000..ed5e3adf --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-15_10_18.log @@ -0,0 +1,236 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 15:10:21 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 15:10:25 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpo_jytmgl ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpo_jytmgl ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpo_jytmgl ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpo_jytmgl +Wed Apr 10 15:13:38 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpo_jytmgl ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 28 20.8M 28 6165k 0 0 2545k 0 0:00:08 0:00:02 0:00:06 2556k 56 20.8M 56 11.7M 0 0 3641k 0 0:00:05 0:00:03 0:00:02 3652k 86 20.8M 86 17.9M 0 0 4270k 0 0:00:05 0:00:04 0:00:01 4281k 100 20.8M 100 20.8M 0 0 4516k 0 0:00:04 0:00:04 --:--:-- 6166k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 15:13:45 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 15:13:47 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% +(188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ grep '#' ++ ruyi news read +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 15:15:32 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 15:15:34 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 15:15:35 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpo_jytmgl ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpo_jytmgl +Wed Apr 10 15:15:39 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpo_jytmgl ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpo_jytmgl +Wed Apr 10 15:17:06 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 15:17:09 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-17_20_08.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-17_20_08.log new file mode 100644 index 00000000..b439b585 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-17_20_08.log @@ -0,0 +1,167 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 17:20:11 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 17:20:16 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp4ztd1lbf ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp4ztd1lbf ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp4ztd1lbf ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp4ztd1lbf +Wed Apr 10 17:23:23 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp4ztd1lbf ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 29 20.8M 29 6410k 0 0 2595k 0 0:00:08 0:00:02 0:00:06 2606k 48 20.8M 48 10.1M 0 0 3070k 0 0:00:06 0:00:03 0:00:03 3079k 63 20.8M 63 13.2M 0 0 3091k 0 0:00:06 0:00:04 0:00:02 3098k 75 20.8M 75 15.7M 0 0 2989k 0 0:00:07 0:00:05 0:00:02 3892k 91 20.8M 91 19.0M 0 0 3060k 0 0:00:06 0:00:06 --:--:-- 3916k 100 20.8M 100 20.8M 0 0 3127k 0 0:00:06 0:00:06 --:--:-- 3428k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 17:23:33 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 17:23:34 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -v 'no binary for current host' +++ grep -e '^ -' ++ pe= ++ '[' -z '' ']' +++ uname -m ++ LOG_INFO 'No qemu-user-riscv-upstream available for current host riscv64, skip' ++ message='No qemu-user-riscv-upstream available for current host riscv64, skip' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'No qemu-user-riscv-upstream available for current host riscv64, skip' +Wed Apr 10 17:24:26 2024 - INFO - No qemu-user-riscv-upstream available for current host riscv64, skip ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 17:24:28 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp4ztd1lbf ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4ztd1lbf +Wed Apr 10 17:24:32 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4ztd1lbf ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4ztd1lbf +Wed Apr 10 17:25:57 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 17:26:00 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-14_51_23.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-14_51_23.log new file mode 100644 index 00000000..5385e463 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-14_51_23.log @@ -0,0 +1,279 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 14:51:26 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 14:51:31 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpt8egyn2g ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpt8egyn2g ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpt8egyn2g ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpt8egyn2g +Wed Apr 10 14:54:40 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpt8egyn2g ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 10 20.8M 10 2229k 0 0 1166k 0 0:00:18 0:00:01 0:00:17 1172k 50 20.8M 50 10.5M 0 0 3643k 0 0:00:05 0:00:02 0:00:03 3656k 86 20.8M 86 17.9M 0 0 4607k 0 0:00:04 0:00:03 0:00:01 4620k 100 20.8M 100 20.8M 0 0 4871k 0 0:00:04 0:00:04 --:--:-- 4884k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 14:54:47 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 14:54:48 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: +7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting +objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting +objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting +objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting +objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting +objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-l +inux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 231M 1 3515k 0 0 1626k 0 0:02:25 0:00:02 0:02:23 1635k 4 231M 4 9.9M 0 0 3220k 0 0:01:13 0:00:03 0:01:10 3230k 7 231M 7 17.6M 0 0 4257k 0 0:00:55 0:00:04 0:00:51 4268k 10 231M 10 24.9M 0 0 4947k 0 0:00:47 0:00:05 0:00:42 4958k 14 231M 14 33.4M 0 0 5451k 0 0:00:43 0:00:06 0:00:37 6887k 17 231M 17 40.7M 0 0 5732k 0 0:00:41 0:00:07 0:00:34 7464k 20 231M 20 48.1M 0 0 5986k 0 0:00:39 0:00:08 0:00:31 7717k 23 231M 23 55.5M 0 0 6146k 0 0:00:38 0:00:09 0:00:29 7745k 27 231M 27 62.8M 0 0 6253k 0 0:00:37 0:00:10 0:00:27 7572k 30 231M 30 70.2M 0 0 6420k 0 0:00:36 0:00:11 0:00:25 7655k 33 231M 33 77.6M 0 0 6534k 0 0:00:36 0:00:12 0:00:24 7731k 37 231M 37 86.0M 0 0 6638k 0 0:00:35 0:00:13 0:00:22 7705k 40 231M 40 93.3M 0 0 6726k 0 0:00:35 0:00:14 0:00:21 7808k 43 231M 43 101M 0 0 6822k 0 0:00:34 0:00:15 0:00:19 7996k 47 231M 47 109M 0 0 6899k 0 0:00:34 0:00:16 0:00:18 7971k 50 231M 50 117M 0 0 6991k 0 0:00:33 0:00:17 0:00:16 8091k 54 231M 54 125M 0 0 7082k 0 0:00:33 0:00:18 0:00:15 8273k 58 231M 58 134M 0 0 7157k 0 0:00:33 0:00:19 0:00:14 8379k 61 231M 61 142M 0 0 7222k 0 0:00:32 0:00:20 0:00:12 8452k 65 231M 65 151M 0 0 7281k 0 0:00:32 0:00:21 0:00:11 8505k 68 231M 68 158M 0 0 7313k 0 0:00:32 0:00:22 0:00:10 8421k 72 231M 72 167M 0 0 7343k 0 0:00:32 0:00:23 0:00:09 8282k 75 231M 75 174M 0 0 7375k 0 0:00:32 0:00:24 0:00:08 8213k 78 231M 78 181M 0 0 7387k 0 0:00:32 0:00:25 0:00:07 8061k 82 231M 82 190M 0 0 7415k 0 0:00:31 0:00:26 0:00:05 7987k 85 231M 85 197M 0 0 7441k 0 0:00:31 0:00:27 0:00:04 8011k 89 231M 89 205M 0 0 7456k 0 0:00:31 0:00:28 0:00:03 7979k 92 231M 92 213M 0 0 7472k 0 0:00:31 0:00:29 0:00:02 7939k 95 231M 95 221M 0 0 7500k 0 0:00:31 0:00:30 0:00:01 8059k 99 231M 99 230M 0 0 7546k 0 0:00:31 0:00:31 --:--:-- 8234k 100 231M 100 231M 0 0 7552k 0 0:00:31 0:00:31 --:--:-- 8273k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 15:02:18 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 15:02:19 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 15:02:20 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpt8egyn2g ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt8egyn2g +Wed Apr 10 15:02:25 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt8egyn2g ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpt8egyn2g +Wed Apr 10 15:03:51 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 15:04:01 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-14_35_56.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-14_35_56.log new file mode 100644 index 00000000..97010434 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-14_35_56.log @@ -0,0 +1,647 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 14:36:00 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 14:36:04 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpsza6goht ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpsza6goht ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpsza6goht ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpsza6goht +Wed Apr 10 14:39:15 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpsza6goht ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 6 20.8M 6 1415k 0 0 783k 0 0:00:27 0:00:01 0:00:26 788k 30 20.8M 30 6455k 0 0 2407k 0 0:00:08 0:00:02 0:00:06 2417k 61 20.8M 61 12.7M 0 0 3528k 0 0:00:06 0:00:03 0:00:03 3539k 94 20.8M 94 19.8M 0 0 4283k 0 0:00:04 0:00:04 --:--:-- 4294k 100 20.8M 100 20.8M 0 0 4369k 0 0:00:04 0:00:04 --:--:-- 5888k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 14:39:21 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 14:39:23 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-upstream +gnu-plct +gnu-plct-xthead +gnu-plct-rv64ilp32-elf +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ++ '[' '!' -z ' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ']' ++ pkgname=gnu-upstream ++ break ++ '[' -z gnu-upstream ']' ++ ruyi install gnu-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20231212-Upstream-So +urces-HOST-riscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 224M 0 2279k 0 0 1231k 0 0:03:06 0:00:01 0:03:05 1238k 4 224M 4 9736k 0 0 3431k 0 0:01:06 0:00:02 0:01:04 3445k 7 224M 7 16.8M 0 0 4462k 0 0:00:51 0:00:03 0:00:48 4474k 10 224M 10 24.2M 0 0 5162k 0 0:00:44 0:00:04 0:00:40 5174k 14 224M 14 31.6M 0 0 5565k 0 0:00:41 0:00:05 0:00:36 7079k 16 224M 16 37.5M 0 0 5631k 0 0:00:40 0:00:06 0:00:34 7267k 19 224M 19 43.8M 0 0 5773k 0 0:00:39 0:00:07 0:00:32 7118k 22 224M 22 51.1M 0 0 5981k 0 0:00:38 0:00:08 0:00:30 7183k 26 224M 26 59.6M 0 0 6198k 0 0:00:37 0:00:09 0:00:28 7187k 29 224M 29 66.9M 0 0 6297k 0 0:00:36 0:00:10 0:00:26 7137k 33 224M 33 74.3M 0 0 6422k 0 0:00:35 0:00:11 0:00:24 7497k 36 224M 36 81.6M 0 0 6514k 0 0:00:35 0:00:12 0:00:23 7649k 39 224M 39 88.0M 0 0 6536k 0 0:00:35 0:00:13 0:00:22 7503k 42 224M 42 96.4M 0 0 6632k 0 0:00:34 0:00:14 0:00:20 7480k 46 224M 46 103M 0 0 6695k 0 0:00:34 0:00:15 0:00:19 7563k 49 224M 49 111M 0 0 6741k 0 0:00:34 0:00:16 0:00:18 7492k 52 224M 52 118M 0 0 6797k 0 0:00:33 0:00:17 0:00:16 7524k 56 224M 56 125M 0 0 6846k 0 0:00:33 0:00:18 0:00:15 7695k 59 224M 59 133M 0 0 6883k 0 0:00:33 0:00:19 0:00:14 7640k 62 224M 62 140M 0 0 6917k 0 0:00:33 0:00:20 0:00:13 7630k 65 224M 65 147M 0 0 6936k 0 0:00:33 0:00:21 0:00:12 7601k 69 224M 69 155M 0 0 6947k 0 0:00:33 0:00:22 0:00:11 7476k 72 224M 72 162M 0 0 6985k 0 0:00:32 0:00:23 0:00:09 7506k 75 224M 75 170M 0 0 7004k 0 0:00:32 0:00:24 0:00:08 7479k 79 224M 79 177M 0 0 7025k 0 0:00:32 0:00:25 0:00:07 7472k 81 224M 81 183M 0 0 7028k 0 0:00:32 0:00:26 0:00:06 7436k 85 224M 85 191M 0 0 7031k 0 0:00:32 0:00:27 0:00:05 7422k 88 224M 88 198M 0 0 7051k 0 0:00:32 0:00:28 0:00:04 7366k 92 224M 92 206M 0 0 7085k 0 0:00:32 0:00:29 0:00:03 7489k 95 224M 95 214M 0 0 7110k 0 0:00:32 0:00:30 0:00:02 7549k 98 224M 98 221M 0 0 7136k 0 0:00:32 0:00:31 0:00:01 7712k 100 224M 100 224M 0 0 7151k 0 0:00:32 0:00:32 --:--:-- 7927k +info: extracting +RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g +nu.tar.xz for package gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/riscv64/gnu-upstream-0. +20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 14:49:41 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 14:49:42 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 14:49:43 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpsza6goht ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsza6goht +Wed Apr 10 14:49:48 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsza6goht ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsza6goht +Wed Apr 10 14:51:13 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 14:51:15 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-13_52_03.log b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-13_52_03.log new file mode 100644 index 00000000..f08fc353 --- /dev/null +++ b/20240408/logs/ubuntu2204-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-13_52_03.log @@ -0,0 +1,305 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 13:52:06 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:52:10 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp6teuyzst ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp6teuyzst ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6teuyzst ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp6teuyzst +Wed Apr 10 13:55:24 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp6teuyzst ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 6 20.8M 6 1386k 0 0 796k 0 0:00:26 0:00:01 0:00:25 801k 33 20.8M 33 7242k 0 0 2779k 0 0:00:07 0:00:02 0:00:05 2790k 69 20.8M 69 14.4M 0 0 4050k 0 0:00:05 0:00:03 0:00:02 4063k 100 20.8M 100 20.8M 0 0 4733k 0 0:00:04 0:00:04 --:--:-- 4745k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 13:55:31 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 13:55:33 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: +11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting +objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting +objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting +objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting +objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting +objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting +objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe= ++ '[' -n '' ']' ++ ruyi install gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 294M 1 3045k 0 0 1528k 0 0:03:17 0:00:01 0:03:16 1538k 3 294M 3 11.3M 0 0 3770k 0 0:01:20 0:00:03 0:01:17 3787k 6 294M 6 18.7M 0 0 4730k 0 0:01:03 0:00:04 0:00:59 4746k 8 294M 8 26.1M 0 0 5332k 0 0:00:56 0:00:05 0:00:51 5348k 11 294M 11 34.5M 0 0 5806k 0 0:00:51 0:00:06 0:00:45 7305k 14 294M 14 41.8M 0 0 6085k 0 0:00:49 0:00:07 0:00:42 7881k 16 294M 16 49.2M 0 0 6316k 0 0:00:47 0:00:07 0:00:40 7923k 19 294M 19 57.6M 0 0 6520k 0 0:00:46 0:00:09 0:00:37 7974k 22 294M 22 65.0M 0 0 6593k 0 0:00:45 0:00:10 0:00:35 7836k 24 294M 24 71.3M 0 0 6644k 0 0:00:45 0:00:10 0:00:35 7683k 26 294M 26 78.7M 0 0 6721k 0 0:00:44 0:00:11 0:00:33 7626k 29 294M 29 87.1M 0 0 6823k 0 0:00:44 0:00:13 0:00:31 7619k 32 294M 32 94.5M 0 0 6871k 0 0:00:43 0:00:14 0:00:29 7503k 34 294M 34 101M 0 0 6944k 0 0:00:43 0:00:15 0:00:28 7665k 37 294M 37 110M 0 0 7031k 0 0:00:42 0:00:16 0:00:26 7873k 39 294M 39 117M 0 0 7092k 0 0:00:42 0:00:16 0:00:26 7982k 42 294M 42 126M 0 0 7152k 0 0:00:42 0:00:18 0:00:24 8017k 45 294M 45 134M 0 0 7211k 0 0:00:41 0:00:19 0:00:22 8170k 48 294M 48 141M 0 0 7264k 0 0:00:41 0:00:19 0:00:22 8231k 50 294M 50 150M 0 0 7315k 0 0:00:41 0:00:21 0:00:20 8228k 53 294M 53 158M 0 0 7353k 0 0:00:41 0:00:22 0:00:19 8223k 56 294M 56 166M 0 0 7392k 0 0:00:40 0:00:22 0:00:18 8264k 59 294M 59 174M 0 0 7426k 0 0:00:40 0:00:24 0:00:16 8251k 62 294M 62 182M 0 0 7464k 0 0:00:40 0:00:25 0:00:15 8249k 64 294M 64 190M 0 0 7493k 0 0:00:40 0:00:25 0:00:15 8251k 67 294M 67 198M 0 0 7526k 0 0:00:40 0:00:27 0:00:13 8296k 70 294M 70 207M 0 0 7550k 0 0:00:39 0:00:28 0:00:11 8267k 72 294M 72 214M 0 0 7577k 0 0:00:39 0:00:28 0:00:11 8315k 75 294M 75 222M 0 0 7606k 0 0:00:39 0:00:29 0:00:10 8332k 78 294M 78 231M 0 0 7618k 0 0:00:39 0:00:31 0:00:08 8252k 80 294M 80 238M 0 0 7617k 0 0:00:39 0:00:32 0:00:07 8107k 83 294M 83 246M 0 0 7622k 0 0:00:39 0:00:33 0:00:06 8027k 85 294M 85 253M 0 0 7629k 0 0:00:39 0:00:34 0:00:05 7928k 88 294M 88 261M 0 0 7645k 0 0:00:39 0:00:35 0:00:04 7878k 91 294M 91 269M 0 0 7659k 0 0:00:39 0:00:35 0:00:04 7919k 94 294M 94 277M 0 0 7673k 0 0:00:39 0:00:37 0:00:02 8037k 94 294M 94 277M 0 0 7067k 0 0:00:42 0:00:40 0:00:02 4507k 96 294M 96 283M 0 0 7082k 0 0:00:42 0:00:41 0:00:01 4439k 98 294M 98 290M 0 0 7086k 0 0:00:42 0:00:41 0:00:01 4254k 99 294M 99 294M 0 0 7012k 0 0:00:43 0:00:42 0:00:01 3687k 100 294M 100 294M 0 0 7005k 0 0:00:43 0:00:43 --:--:-- 2919k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.2024 +0222 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n '' ']' ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 14:07:22 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 14:07:24 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 14:07:25 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp6teuyzst ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6teuyzst +Wed Apr 10 14:07:31 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6teuyzst ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6teuyzst +Wed Apr 10 14:09:02 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 14:09:14 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-06_04_41.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-06_04_41.log new file mode 100644 index 00000000..746f3bf7 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-06_04_41.log @@ -0,0 +1,206 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:04:41 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:04:41 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp1dpup176 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp1dpup176 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp1dpup176 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp1dpup176 +Wed Apr 10 06:05:29 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp1dpup176 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 23.7M 3 921k 0 0 1171k 0 0:00:20 --:--:-- 0:00:20 1170k 29 23.7M 29 7209k 0 0 4036k 0 0:00:06 0:00:01 0:00:05 4036k 68 23.7M 68 16.2M 0 0 5982k 0 0:00:04 0:00:02 0:00:02 5981k 100 23.7M 100 23.7M 0 0 6618k 0 0:00:03 0:00:03 --:--:-- 6620k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:05:35 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:05:35 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92", + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:05:38 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:05:38 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:05:38 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp1dpup176 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1dpup176 +Wed Apr 10 06:05:38 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1dpup176 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1dpup176 +Wed Apr 10 06:06:01 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:06:01 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-06_22_38.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-06_22_38.log new file mode 100644 index 00000000..56138dc2 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-06_22_38.log @@ -0,0 +1,2943 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:22:38 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:22:38 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpeapmvgkc ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpeapmvgkc ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpeapmvgkc ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpeapmvgkc +Wed Apr 10 06:22:56 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpeapmvgkc ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 23.7M 2 690k 0 0 1615k 0 0:00:15 --:--:-- 0:00:15 1613k 23 23.7M 23 5666k 0 0 3963k 0 0:00:06 0:00:01 0:00:05 3962k 45 23.7M 45 10.7M 0 0 4554k 0 0:00:05 0:00:02 0:00:03 4552k 70 23.7M 70 16.7M 0 0 4995k 0 0:00:04 0:00:03 0:00:01 4994k 96 23.7M 96 23.0M 0 0 5323k 0 0:00:04 0:00:04 --:--:-- 5323k 100 23.7M 100 23.7M 0 0 5374k 0 0:00:04 0:00:04 --:--:-- 5767k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:23:00 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:23:00 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: +17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% +(309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 398M 1 5389k 0 0 5311k 0 0:01:16 0:00:01 0:01:15 5310k 3 398M 3 15.7M 0 0 7989k 0 0:00:51 0:00:02 0:00:49 7988k 6 398M 6 24.5M 0 0 8342k 0 0:00:48 0:00:03 0:00:45 8342k 8 398M 8 33.7M 0 0 8596k 0 0:00:47 0:00:04 0:00:43 8595k 10 398M 10 43.2M 0 0 8841k 0 0:00:46 0:00:05 0:00:41 8984k 13 398M 13 53.5M 0 0 9113k 0 0:00:44 0:00:06 0:00:38 9885k 16 398M 16 64.1M 0 0 9367k 0 0:00:43 0:00:07 0:00:36 9923k 18 398M 18 75.2M 0 0 9614k 0 0:00:42 0:00:08 0:00:34 10.1M 21 398M 21 86.3M 0 0 9813k 0 0:00:41 0:00:09 0:00:32 10.5M 24 398M 24 97.5M 0 0 9974k 0 0:00:40 0:00:10 0:00:30 10.8M 26 398M 26 107M 0 0 9.7M 0 0:00:40 0:00:11 0:00:29 10.8M 29 398M 29 118M 0 0 9.8M 0 0:00:40 0:00:12 0:00:28 10.8M 32 398M 32 129M 0 0 9.9M 0 0:00:40 0:00:13 0:00:27 10.8M 35 398M 35 140M 0 0 10.0M 0 0:00:39 0:00:14 0:00:25 10.8M 37 398M 37 150M 0 0 10.0M 0 0:00:39 0:00:15 0:00:24 10.5M 39 398M 39 158M 0 0 9.9M 0 0:00:40 0:00:16 0:00:24 10.2M 41 398M 41 164M 0 0 9901k 0 0:00:41 0:00:17 0:00:24 9404k 42 398M 42 170M 0 0 9715k 0 0:00:42 0:00:18 0:00:24 8438k 44 398M 44 178M 0 0 9589k 0 0:00:42 0:00:19 0:00:23 7683k 46 398M 46 185M 0 0 9475k 0 0:00:43 0:00:20 0:00:23 7151k 48 398M 48 192M 0 0 9389k 0 0:00:43 0:00:21 0:00:22 6934k 50 398M 50 199M 0 0 9269k 0 0:00:44 0:00:22 0:00:22 7124k 51 398M 51 203M 0 0 9052k 0 0:00:45 0:00:23 0:00:22 6671k 51 398M 51 205M 0 0 8747k 0 0:00:46 0:00:24 0:00:22 5548k 52 398M 52 207M 0 0 8492k 0 0:00:48 0:00:25 0:00:23 4560k 52 398M 52 209M 0 0 8252k 0 0:00:49 0:00:26 0:00:23 3474k 53 398M 53 212M 0 0 8055k 0 0:00:50 0:00:27 0:00:23 2688k 54 398M 54 216M 0 0 7899k 0 0:00:51 0:00:28 0:00:23 2568k 55 398M 55 220M 0 0 7778k 0 0:00:52 0:00:29 0:00:23 3118k 56 398M 56 225M 0 0 7693k 0 0:00:53 0:00:30 0:00:23 3692k 57 398M 57 231M 0 0 7633k 0 0:00:53 0:00:31 0:00:22 4412k 59 398M 59 237M 0 0 7601k 0 0:00:53 0:00:32 0:00:21 5148k 61 398M 61 244M 0 0 7594k 0 0:00:53 0:00:33 0:00:20 5884k 63 398M 63 252M 0 0 7606k 0 0:00:53 0:00:34 0:00:19 6604k 65 398M 65 261M 0 0 7639k 0 0:00:53 0:00:35 0:00:18 7321k 67 398M 67 270M 0 0 7689k 0 0:00:53 0:00:36 0:00:17 8032k 70 398M 70 280M 0 0 7764k 0 0:00:52 0:00:37 0:00:15 8808k 72 398M 72 291M 0 0 7839k 0 0:00:52 0:00:38 0:00:14 9455k 74 398M 74 298M 0 0 7832k 0 0:00:52 0:00:39 0:00:13 9376k 76 398M 76 306M 0 0 7849k 0 0:00:52 0:00:40 0:00:12 9315k 78 398M 78 313M 0 0 7832k 0 0:00:52 0:00:41 0:00:11 8867k 80 398M 80 320M 0 0 7809k 0 0:00:52 0:00:42 0:00:10 8140k 82 398M 82 327M 0 0 7780k 0 0:00:52 0:00:43 0:00:09 7343k 83 398M 83 332M 0 0 7735k 0 0:00:52 0:00:44 0:00:08 6979k 84 398M 84 337M 0 0 7679k 0 0:00:53 0:00:45 0:00:08 6322k 86 398M 86 343M 0 0 7637k 0 0:00:53 0:00:46 0:00:07 6032k 87 398M 87 349M 0 0 7611k 0 0:00:53 0:00:47 0:00:06 5945k 89 398M 89 356M 0 0 7599k 0 0:00:53 0:00:48 0:00:05 6026k 91 398M 91 363M 0 0 7604k 0 0:00:53 0:00:49 0:00:04 6443k 93 398M 93 372M 0 0 7620k 0 0:00:53 0:00:50 0:00:03 7082k 95 398M 95 381M 0 0 7648k 0 0:00:53 0:00:51 0:00:02 7756k 96 398M 96 386M 0 0 7610k 0 0:00:53 0:00:52 0:00:01 7607k 97 398M 97 390M 0 0 7538k 0 0:00:54 0:00:53 0:00:01 6956k 99 398M 99 396M 0 0 7511k 0 0:00:54 0:00:54 --:--:-- 6606k 100 398M 100 398M 0 0 7510k 0 0:00:54 0:00:54 --:--:-- 6248k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 398M 1 5389k 0 0 5311k 0 0:01:16 0:00:01 0:01:15 $'5310k\r' 3 398M 3 15.7M 0 0 7989k 0 0:00:51 0:00:02 0:00:49 $'7988k\r' 6 398M 6 24.5M 0 0 8342k 0 0:00:48 0:00:03 0:00:45 $'8342k\r' 8 398M 8 33.7M 0 0 8596k 0 0:00:47 0:00:04 0:00:43 $'8595k\r' 10 398M 10 43.2M 0 0 8841k 0 0:00:46 0:00:05 0:00:41 $'8984k\r' 13 398M 13 53.5M 0 0 9113k 0 0:00:44 0:00:06 0:00:38 $'9885k\r' 16 398M 16 64.1M 0 0 9367k 0 0:00:43 0:00:07 0:00:36 $'9923k\r' 18 398M 18 75.2M 0 0 9614k 0 0:00:42 0:00:08 0:00:34 $'10.1M\r' 21 398M 21 86.3M 0 0 9813k 0 0:00:41 0:00:09 0:00:32 $'10.5M\r' 24 398M 24 97.5M 0 0 9974k 0 0:00:40 0:00:10 0:00:30 $'10.8M\r' 26 398M 26 107M 0 0 9.7M 0 0:00:40 0:00:11 0:00:29 $'10.8M\r' 29 398M 29 118M 0 0 9.8M 0 0:00:40 0:00:12 0:00:28 $'10.8M\r' 32 398M 32 129M 0 0 9.9M 0 0:00:40 0:00:13 0:00:27 $'10.8M\r' 35 398M 35 140M 0 0 10.0M 0 0:00:39 0:00:14 0:00:25 $'10.8M\r' 37 398M 37 150M 0 0 10.0M 0 0:00:39 0:00:15 0:00:24 $'10.5M\r' 39 398M 39 158M 0 0 9.9M 0 0:00:40 0:00:16 0:00:24 $'10.2M\r' 41 398M 41 164M 0 0 9901k 0 0:00:41 0:00:17 0:00:24 $'9404k\r' 42 398M 42 170M 0 0 9715k 0 0:00:42 0:00:18 0:00:24 $'8438k\r' 44 398M 44 178M 0 0 9589k 0 0:00:42 0:00:19 0:00:23 $'7683k\r' 46 398M 46 185M 0 0 9475k 0 0:00:43 0:00:20 0:00:23 $'7151k\r' 48 398M 48 192M 0 0 9389k 0 0:00:43 0:00:21 0:00:22 $'6934k\r' 50 398M 50 199M 0 0 9269k 0 0:00:44 0:00:22 0:00:22 $'7124k\r' 51 398M 51 203M 0 0 9052k 0 0:00:45 0:00:23 0:00:22 $'6671k\r' 51 398M 51 205M 0 0 8747k 0 0:00:46 0:00:24 0:00:22 $'5548k\r' 52 398M 52 207M 0 0 8492k 0 0:00:48 0:00:25 0:00:23 $'4560k\r' 52 398M 52 209M 0 0 8252k 0 0:00:49 0:00:26 0:00:23 $'3474k\r' 53 398M 53 212M 0 0 8055k 0 0:00:50 0:00:27 0:00:23 $'2688k\r' 54 398M 54 216M 0 0 7899k 0 0:00:51 0:00:28 0:00:23 $'2568k\r' 55 398M 55 220M 0 0 7778k 0 0:00:52 0:00:29 0:00:23 $'3118k\r' 56 398M 56 225M 0 0 7693k 0 0:00:53 0:00:30 0:00:23 $'3692k\r' 57 398M 57 231M 0 0 7633k 0 0:00:53 0:00:31 0:00:22 $'4412k\r' 59 398M 59 237M 0 0 7601k 0 0:00:53 0:00:32 0:00:21 $'5148k\r' 61 398M 61 244M 0 0 7594k 0 0:00:53 0:00:33 0:00:20 $'5884k\r' 63 398M 63 252M 0 0 7606k 0 0:00:53 0:00:34 0:00:19 $'6604k\r' 65 398M 65 261M 0 0 7639k 0 0:00:53 0:00:35 0:00:18 $'7321k\r' 67 398M 67 270M 0 0 7689k 0 0:00:53 0:00:36 0:00:17 $'8032k\r' 70 398M 70 280M 0 0 7764k 0 0:00:52 0:00:37 0:00:15 $'8808k\r' 72 398M 72 291M 0 0 7839k 0 0:00:52 0:00:38 0:00:14 $'9455k\r' 74 398M 74 298M 0 0 7832k 0 0:00:52 0:00:39 0:00:13 $'9376k\r' 76 398M 76 306M 0 0 7849k 0 0:00:52 0:00:40 0:00:12 $'9315k\r' 78 398M 78 313M 0 0 7832k 0 0:00:52 0:00:41 0:00:11 $'8867k\r' 80 398M 80 320M 0 0 7809k 0 0:00:52 0:00:42 0:00:10 $'8140k\r' 82 398M 82 327M 0 0 7780k 0 0:00:52 0:00:43 0:00:09 $'7343k\r' 83 398M 83 332M 0 0 7735k 0 0:00:52 0:00:44 0:00:08 $'6979k\r' 84 398M 84 337M 0 0 7679k 0 0:00:53 0:00:45 0:00:08 $'6322k\r' 86 398M 86 343M 0 0 7637k 0 0:00:53 0:00:46 0:00:07 $'6032k\r' 87 398M 87 349M 0 0 7611k 0 0:00:53 0:00:47 0:00:06 $'5945k\r' 89 398M 89 356M 0 0 7599k 0 0:00:53 0:00:48 0:00:05 $'6026k\r' 91 398M 91 363M 0 0 7604k 0 0:00:53 0:00:49 0:00:04 $'6443k\r' 93 398M 93 372M 0 0 7620k 0 0:00:53 0:00:50 0:00:03 $'7082k\r' 95 398M 95 381M 0 0 7648k 0 0:00:53 0:00:51 0:00:02 $'7756k\r' 96 398M 96 386M 0 0 7610k 0 0:00:53 0:00:52 0:00:01 $'7607k\r' 97 398M 97 390M 0 0 7538k 0 0:00:54 0:00:53 0:00:01 $'6956k\r' 99 398M 99 396M 0 0 7511k 0 0:00:54 0:00:54 --:--:-- $'6606k\r100' 398M 100 398M 0 0 7510k 0 0:00:54 0:00:54 --:--:-- 6248k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 +++ awk '{print $NF}' ++ bp=21 ++ bpb=21/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 398M 1 5389k 0 0 5311k 0 0:01:16 0:00:01 0:01:15 $'5310k\r' 3 398M 3 15.7M 0 0 7989k 0 0:00:51 0:00:02 0:00:49 $'7988k\r' 6 398M 6 24.5M 0 0 8342k 0 0:00:48 0:00:03 0:00:45 $'8342k\r' 8 398M 8 33.7M 0 0 8596k 0 0:00:47 0:00:04 0:00:43 $'8595k\r' 10 398M 10 43.2M 0 0 8841k 0 0:00:46 0:00:05 0:00:41 $'8984k\r' 13 398M 13 53.5M 0 0 9113k 0 0:00:44 0:00:06 0:00:38 $'9885k\r' 16 398M 16 64.1M 0 0 9367k 0 0:00:43 0:00:07 0:00:36 $'9923k\r' 18 398M 18 75.2M 0 0 9614k 0 0:00:42 0:00:08 0:00:34 $'10.1M\r' 21 398M 21 86.3M 0 0 9813k 0 0:00:41 0:00:09 0:00:32 $'10.5M\r' 24 398M 24 97.5M 0 0 9974k 0 0:00:40 0:00:10 0:00:30 $'10.8M\r' 26 398M 26 107M 0 0 9.7M 0 0:00:40 0:00:11 0:00:29 $'10.8M\r' 29 398M 29 118M 0 0 9.8M 0 0:00:40 0:00:12 0:00:28 $'10.8M\r' 32 398M 32 129M 0 0 9.9M 0 0:00:40 0:00:13 0:00:27 $'10.8M\r' 35 398M 35 140M 0 0 10.0M 0 0:00:39 0:00:14 0:00:25 $'10.8M\r' 37 398M 37 150M 0 0 10.0M 0 0:00:39 0:00:15 0:00:24 $'10.5M\r' 39 398M 39 158M 0 0 9.9M 0 0:00:40 0:00:16 0:00:24 $'10.2M\r' 41 398M 41 164M 0 0 9901k 0 0:00:41 0:00:17 0:00:24 $'9404k\r' 42 398M 42 170M 0 0 9715k 0 0:00:42 0:00:18 0:00:24 $'8438k\r' 44 398M 44 178M 0 0 9589k 0 0:00:42 0:00:19 0:00:23 $'7683k\r' 46 398M 46 185M 0 0 9475k 0 0:00:43 0:00:20 0:00:23 $'7151k\r' 48 398M 48 192M 0 0 9389k 0 0:00:43 0:00:21 0:00:22 $'6934k\r' 50 398M 50 199M 0 0 9269k 0 0:00:44 0:00:22 0:00:22 $'7124k\r' 51 398M 51 203M 0 0 9052k 0 0:00:45 0:00:23 0:00:22 $'6671k\r' 51 398M 51 205M 0 0 8747k 0 0:00:46 0:00:24 0:00:22 $'5548k\r' 52 398M 52 207M 0 0 8492k 0 0:00:48 0:00:25 0:00:23 $'4560k\r' 52 398M 52 209M 0 0 8252k 0 0:00:49 0:00:26 0:00:23 $'3474k\r' 53 398M 53 212M 0 0 8055k 0 0:00:50 0:00:27 0:00:23 $'2688k\r' 54 398M 54 216M 0 0 7899k 0 0:00:51 0:00:28 0:00:23 $'2568k\r' 55 398M 55 220M 0 0 7778k 0 0:00:52 0:00:29 0:00:23 $'3118k\r' 56 398M 56 225M 0 0 7693k 0 0:00:53 0:00:30 0:00:23 $'3692k\r' 57 398M 57 231M 0 0 7633k 0 0:00:53 0:00:31 0:00:22 $'4412k\r' 59 398M 59 237M 0 0 7601k 0 0:00:53 0:00:32 0:00:21 $'5148k\r' 61 398M 61 244M 0 0 7594k 0 0:00:53 0:00:33 0:00:20 $'5884k\r' 63 398M 63 252M 0 0 7606k 0 0:00:53 0:00:34 0:00:19 $'6604k\r' 65 398M 65 261M 0 0 7639k 0 0:00:53 0:00:35 0:00:18 $'7321k\r' 67 398M 67 270M 0 0 7689k 0 0:00:53 0:00:36 0:00:17 $'8032k\r' 70 398M 70 280M 0 0 7764k 0 0:00:52 0:00:37 0:00:15 $'8808k\r' 72 398M 72 291M 0 0 7839k 0 0:00:52 0:00:38 0:00:14 $'9455k\r' 74 398M 74 298M 0 0 7832k 0 0:00:52 0:00:39 0:00:13 $'9376k\r' 76 398M 76 306M 0 0 7849k 0 0:00:52 0:00:40 0:00:12 $'9315k\r' 78 398M 78 313M 0 0 7832k 0 0:00:52 0:00:41 0:00:11 $'8867k\r' 80 398M 80 320M 0 0 7809k 0 0:00:52 0:00:42 0:00:10 $'8140k\r' 82 398M 82 327M 0 0 7780k 0 0:00:52 0:00:43 0:00:09 $'7343k\r' 83 398M 83 332M 0 0 7735k 0 0:00:52 0:00:44 0:00:08 $'6979k\r' 84 398M 84 337M 0 0 7679k 0 0:00:53 0:00:45 0:00:08 $'6322k\r' 86 398M 86 343M 0 0 7637k 0 0:00:53 0:00:46 0:00:07 $'6032k\r' 87 398M 87 349M 0 0 7611k 0 0:00:53 0:00:47 0:00:06 $'5945k\r' 89 398M 89 356M 0 0 7599k 0 0:00:53 0:00:48 0:00:05 $'6026k\r' 91 398M 91 363M 0 0 7604k 0 0:00:53 0:00:49 0:00:04 $'6443k\r' 93 398M 93 372M 0 0 7620k 0 0:00:53 0:00:50 0:00:03 $'7082k\r' 95 398M 95 381M 0 0 7648k 0 0:00:53 0:00:51 0:00:02 $'7756k\r' 96 398M 96 386M 0 0 7610k 0 0:00:53 0:00:52 0:00:01 $'7607k\r' 97 398M 97 390M 0 0 7538k 0 0:00:54 0:00:53 0:00:01 $'6956k\r' 99 398M 99 396M 0 0 7511k 0 0:00:54 0:00:54 --:--:-- $'6606k\r100' 398M 100 398M 0 0 7510k 0 0:00:54 0:00:54 --:--:-- 6248k info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 21 ']' ++ '[' '!' -d 21 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/llvm-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/llvm-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 238M 1 3146k 0 0 4105k 0 0:00:59 --:--:-- 0:00:59 4101k 4 238M 4 10.1M 0 0 5884k 0 0:00:41 0:00:01 0:00:40 5882k 7 238M 7 18.0M 0 0 6666k 0 0:00:36 0:00:02 0:00:34 6664k 11 238M 11 26.3M 0 0 7169k 0 0:00:34 0:00:03 0:00:31 7168k 14 238M 14 35.4M 0 0 7610k 0 0:00:32 0:00:04 0:00:28 7609k 18 238M 18 45.3M 0 0 8045k 0 0:00:30 0:00:05 0:00:25 8649k 22 238M 22 53.4M 0 0 8088k 0 0:00:30 0:00:06 0:00:24 8867k 26 238M 26 62.2M 0 0 8211k 0 0:00:29 0:00:07 0:00:22 9065k 30 238M 30 72.0M 0 0 8413k 0 0:00:29 0:00:08 0:00:21 9350k 34 238M 34 82.1M 0 0 8618k 0 0:00:28 0:00:09 0:00:19 9579k 38 238M 38 92.7M 0 0 8819k 0 0:00:27 0:00:10 0:00:17 9712k 43 238M 43 103M 0 0 9025k 0 0:00:27 0:00:11 0:00:16 10.0M 48 238M 48 114M 0 0 9211k 0 0:00:26 0:00:12 0:00:14 10.5M 52 238M 52 125M 0 0 9370k 0 0:00:26 0:00:13 0:00:13 10.7M 56 238M 56 133M 0 0 9284k 0 0:00:26 0:00:14 0:00:12 10.3M 59 238M 59 141M 0 0 9179k 0 0:00:26 0:00:15 0:00:11 9954k 62 238M 62 149M 0 0 9131k 0 0:00:26 0:00:16 0:00:10 9379k 66 238M 66 158M 0 0 9133k 0 0:00:26 0:00:17 0:00:09 8934k 70 238M 70 168M 0 0 9181k 0 0:00:26 0:00:18 0:00:08 8659k 74 238M 74 178M 0 0 9255k 0 0:00:26 0:00:19 0:00:07 9171k 77 238M 77 184M 0 0 9108k 0 0:00:26 0:00:20 0:00:06 8884k 79 238M 79 189M 0 0 8930k 0 0:00:27 0:00:21 0:00:06 8256k 81 238M 81 195M 0 0 8802k 0 0:00:27 0:00:22 0:00:05 7628k 84 238M 84 202M 0 0 8706k 0 0:00:28 0:00:23 0:00:05 6924k 87 238M 87 208M 0 0 8639k 0 0:00:28 0:00:24 0:00:04 6204k 90 238M 90 216M 0 0 8610k 0 0:00:28 0:00:25 0:00:03 6538k 94 238M 94 225M 0 0 8609k 0 0:00:28 0:00:26 0:00:02 7212k 97 238M 97 234M 0 0 8636k 0 0:00:28 0:00:27 0:00:01 7878k 100 238M 100 238M 0 0 8658k 0 0:00:28 0:00:28 --:--:-- 8404k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 238M 1 3146k 0 0 4105k 0 0:00:59 --:--:-- 0:00:59 $'4101k\r' 4 238M 4 10.1M 0 0 5884k 0 0:00:41 0:00:01 0:00:40 $'5882k\r' 7 238M 7 18.0M 0 0 6666k 0 0:00:36 0:00:02 0:00:34 $'6664k\r' 11 238M 11 26.3M 0 0 7169k 0 0:00:34 0:00:03 0:00:31 $'7168k\r' 14 238M 14 35.4M 0 0 7610k 0 0:00:32 0:00:04 0:00:28 $'7609k\r' 18 238M 18 45.3M 0 0 8045k 0 0:00:30 0:00:05 0:00:25 $'8649k\r' 22 238M 22 53.4M 0 0 8088k 0 0:00:30 0:00:06 0:00:24 $'8867k\r' 26 238M 26 62.2M 0 0 8211k 0 0:00:29 0:00:07 0:00:22 $'9065k\r' 30 238M 30 72.0M 0 0 8413k 0 0:00:29 0:00:08 0:00:21 $'9350k\r' 34 238M 34 82.1M 0 0 8618k 0 0:00:28 0:00:09 0:00:19 $'9579k\r' 38 238M 38 92.7M 0 0 8819k 0 0:00:27 0:00:10 0:00:17 $'9712k\r' 43 238M 43 103M 0 0 9025k 0 0:00:27 0:00:11 0:00:16 $'10.0M\r' 48 238M 48 114M 0 0 9211k 0 0:00:26 0:00:12 0:00:14 $'10.5M\r' 52 238M 52 125M 0 0 9370k 0 0:00:26 0:00:13 0:00:13 $'10.7M\r' 56 238M 56 133M 0 0 9284k 0 0:00:26 0:00:14 0:00:12 $'10.3M\r' 59 238M 59 141M 0 0 9179k 0 0:00:26 0:00:15 0:00:11 $'9954k\r' 62 238M 62 149M 0 0 9131k 0 0:00:26 0:00:16 0:00:10 $'9379k\r' 66 238M 66 158M 0 0 9133k 0 0:00:26 0:00:17 0:00:09 $'8934k\r' 70 238M 70 168M 0 0 9181k 0 0:00:26 0:00:18 0:00:08 $'8659k\r' 74 238M 74 178M 0 0 9255k 0 0:00:26 0:00:19 0:00:07 $'9171k\r' 77 238M 77 184M 0 0 9108k 0 0:00:26 0:00:20 0:00:06 $'8884k\r' 79 238M 79 189M 0 0 8930k 0 0:00:27 0:00:21 0:00:06 $'8256k\r' 81 238M 81 195M 0 0 8802k 0 0:00:27 0:00:22 0:00:05 $'7628k\r' 84 238M 84 202M 0 0 8706k 0 0:00:28 0:00:23 0:00:05 $'6924k\r' 87 238M 87 208M 0 0 8639k 0 0:00:28 0:00:24 0:00:04 $'6204k\r' 90 238M 90 216M 0 0 8610k 0 0:00:28 0:00:25 0:00:03 $'6538k\r' 94 238M 94 225M 0 0 8609k 0 0:00:28 0:00:26 0:00:02 $'7212k\r' 97 238M 97 234M 0 0 8636k 0 0:00:28 0:00:27 0:00:01 $'7878k\r100' 238M 100 238M 0 0 8658k 0 0:00:28 0:00:28 --:--:-- 8404k info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl ct-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l inux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 238M 1 3146k 0 0 4105k 0 0:00:59 --:--:-- 0:00:59 $'4101k\r' 4 238M 4 10.1M 0 0 5884k 0 0:00:41 0:00:01 0:00:40 $'5882k\r' 7 238M 7 18.0M 0 0 6666k 0 0:00:36 0:00:02 0:00:34 $'6664k\r' 11 238M 11 26.3M 0 0 7169k 0 0:00:34 0:00:03 0:00:31 $'7168k\r' 14 238M 14 35.4M 0 0 7610k 0 0:00:32 0:00:04 0:00:28 $'7609k\r' 18 238M 18 45.3M 0 0 8045k 0 0:00:30 0:00:05 0:00:25 $'8649k\r' 22 238M 22 53.4M 0 0 8088k 0 0:00:30 0:00:06 0:00:24 $'8867k\r' 26 238M 26 62.2M 0 0 8211k 0 0:00:29 0:00:07 0:00:22 $'9065k\r' 30 238M 30 72.0M 0 0 8413k 0 0:00:29 0:00:08 0:00:21 $'9350k\r' 34 238M 34 82.1M 0 0 8618k 0 0:00:28 0:00:09 0:00:19 $'9579k\r' 38 238M 38 92.7M 0 0 8819k 0 0:00:27 0:00:10 0:00:17 $'9712k\r' 43 238M 43 103M 0 0 9025k 0 0:00:27 0:00:11 0:00:16 $'10.0M\r' 48 238M 48 114M 0 0 9211k 0 0:00:26 0:00:12 0:00:14 $'10.5M\r' 52 238M 52 125M 0 0 9370k 0 0:00:26 0:00:13 0:00:13 $'10.7M\r' 56 238M 56 133M 0 0 9284k 0 0:00:26 0:00:14 0:00:12 $'10.3M\r' 59 238M 59 141M 0 0 9179k 0 0:00:26 0:00:15 0:00:11 $'9954k\r' 62 238M 62 149M 0 0 9131k 0 0:00:26 0:00:16 0:00:10 $'9379k\r' 66 238M 66 158M 0 0 9133k 0 0:00:26 0:00:17 0:00:09 $'8934k\r' 70 238M 70 168M 0 0 9181k 0 0:00:26 0:00:18 0:00:08 $'8659k\r' 74 238M 74 178M 0 0 9255k 0 0:00:26 0:00:19 0:00:07 $'9171k\r' 77 238M 77 184M 0 0 9108k 0 0:00:26 0:00:20 0:00:06 $'8884k\r' 79 238M 79 189M 0 0 8930k 0 0:00:27 0:00:21 0:00:06 $'8256k\r' 81 238M 81 195M 0 0 8802k 0 0:00:27 0:00:22 0:00:05 $'7628k\r' 84 238M 84 202M 0 0 8706k 0 0:00:28 0:00:23 0:00:05 $'6924k\r' 87 238M 87 208M 0 0 8639k 0 0:00:28 0:00:24 0:00:04 $'6204k\r' 90 238M 90 216M 0 0 8610k 0 0:00:28 0:00:25 0:00:03 $'6538k\r' 94 238M 94 225M 0 0 8609k 0 0:00:28 0:00:26 0:00:02 $'7212k\r' 97 238M 97 234M 0 0 8636k 0 0:00:28 0:00:27 0:00:01 $'7878k\r100' 238M 100 238M 0 0 8658k 0 0:00:28 0:00:28 --:--:-- 8404k info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0ff86e2800f7e11a3128e567a2d8b000cbf4a713, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x00007fff9edde000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f27baf8c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f27bad63000) + /lib64/ld-linux-x86-64.so.2 (0x00007f27bb0bb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2175afe16c672249f8fd4db8a7032c7f4f89a2af, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00007fff93719000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc14f4d2000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc14f2a9000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc14f608000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73da7e46ec0c9cae37a62209630b1ad35bfab6b7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00007fffcbffa000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f28db284000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f28db05b000) + /lib64/ld-linux-x86-64.so.2 (0x00007f28db466000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffc8d505000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff4f888c000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff4f8abd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a13377b5b9f486ad8611315353362c659052be30, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffc4a9cd000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f30fb6cc000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f30fb4a3000) + /lib64/ld-linux-x86-64.so.2 (0x00007f30fb802000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=72577a0fc73c81cc30e3f54daf7d2e6ac16827ba, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffd675f2000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7dec3d7000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7dec608000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c566a5bada78e0b87b97ae9c33d6f4ac8b9e2ebb, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00007fff827ab000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f91370fa000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9137337000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffc09966000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2fe594d000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2fe5b7e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffd27701000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4735090000) + /lib64/ld-linux-x86-64.so.2 (0x00007f47352c1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00007ffdacb9e000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa2d11ac000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa2d13dd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f758862ad25799082d6a801946bd5a68c1adf0ef, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffc9f94c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8a83477000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8a836a8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b979aa47138752a4f812e2640cbf1790e940ec46, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffc98d4f000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe6d6415000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe6d6646000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e8d26a705fcdfaec505495eb0b88bca472cd3a9d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007fff025c6000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f92d0dc3000) + /lib64/ld-linux-x86-64.so.2 (0x00007f92d0ff4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ebc219e73811ca8a6a46ac5ee0e73dcb78b3139c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffc4db81000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007feb65a12000) + /lib64/ld-linux-x86-64.so.2 (0x00007feb65c43000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=82b6b95e63c1d541743068f0ef8737a24f9b28d9, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffea66fe000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb3ed060000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb3ed291000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=022ab27b710146427a2f09b4c72f915b5cfea96f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffc281a6000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f664211b000) + /lib64/ld-linux-x86-64.so.2 (0x00007f664234c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5063ceae8548251c7fe77b887db847500500af0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x00007fff28f91000) + libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x00007fc78319d000) + libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fc78316b000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc783166000) + liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fc78313b000) + libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc782f0f000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc782e26000) + libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc782e06000) + libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc782e01000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc782bd8000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc783c2c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bd1481439adec32395663c8e8e2f48309095269, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffca87f1000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2c13a42000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2c13c73000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7ba75731dae53aa328f2e9be718cd018c43b9bfe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffc4a588000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f574851c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57482f3000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5748707000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00007ffd6c9e9000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f512178e000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5121565000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5121ad3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007fff6d1a8000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2f457be000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2f45595000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2f45b03000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=89135e7c6bb6f2c6ec334465f432a3334849ff39, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffd505bc000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f926fbc0000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f926fad9000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f926f8b0000) + /lib64/ld-linux-x86-64.so.2 (0x00007f926fbcd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a7f8774c46ba3b3fb4673d9afcf1f3ca5b7d81ed, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00007ffd10d97000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa71a45d000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa71a234000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa71a591000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bf929f4a25a483d3f39ec7a6e076a930258423e5, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffec899a000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc7d8f99000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc7d8d70000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc7d90ed000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=90ea9b74c2a07351f4850c027d8273369bc0f8de, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffd2dde8000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe399f05000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe399cdc000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe39a126000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=32baa2fc2c2afb863110ce5be9cbfb534ed9ab3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffc8bbd2000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0df0720000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0df04f7000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0df0856000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46a8f121c47196be8de92c76309f09efe41e2ff2, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00007ffff8992000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2686afd000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2686e31000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3839019e395b24979c16ad2ef0474f548a7fa9fe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00007fff565de000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f521f2b9000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f521f090000) + /lib64/ld-linux-x86-64.so.2 (0x00007f521f3e8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1cf7f23ae18f661e32545c07e829d91557b1a347, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00007ffe0fbb9000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcbb021b000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcbafff2000) + /lib64/ld-linux-x86-64.so.2 (0x00007fcbb034b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=24feb89de7b69ed47938f4bcefffe103bb1b055e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00007ffc6830f000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fae02b9f000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fae02976000) + /lib64/ld-linux-x86-64.so.2 (0x00007fae02cf3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 47.2M 6 2957k 0 0 3255k 0 0:00:14 --:--:-- 0:00:14 3253k 19 47.2M 19 9261k 0 0 4852k 0 0:00:09 0:00:01 0:00:08 4851k 34 47.2M 34 16.4M 0 0 5786k 0 0:00:08 0:00:02 0:00:06 5785k 51 47.2M 51 24.4M 0 0 6418k 0 0:00:07 0:00:03 0:00:04 6417k 70 47.2M 70 33.2M 0 0 6942k 0 0:00:06 0:00:04 0:00:02 6941k 90 47.2M 90 42.8M 0 0 7430k 0 0:00:06 0:00:05 0:00:01 8188k 100 47.2M 100 47.2M 0 0 7631k 0 0:00:06 0:00:06 --:--:-- 8827k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 47.2M 6 2957k 0 0 3255k 0 0:00:14 --:--:-- 0:00:14 $'3253k\r' 19 47.2M 19 9261k 0 0 4852k 0 0:00:09 0:00:01 0:00:08 $'4851k\r' 34 47.2M 34 16.4M 0 0 5786k 0 0:00:08 0:00:02 0:00:06 $'5785k\r' 51 47.2M 51 24.4M 0 0 6418k 0 0:00:07 0:00:03 0:00:04 $'6417k\r' 70 47.2M 70 33.2M 0 0 6942k 0 0:00:06 0:00:04 0:00:02 $'6941k\r' 90 47.2M 90 42.8M 0 0 7430k 0 0:00:06 0:00:05 0:00:01 $'8188k\r100' 47.2M 100 47.2M 0 0 7631k 0 0:00:06 0:00:06 --:--:-- 8827k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=3.0-ruyi.20240224 ++ bpb=3.0-ruyi.20240224/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 6 47.2M 6 2957k 0 0 3255k 0 0:00:14 --:--:-- 0:00:14 $'3253k\r' 19 47.2M 19 9261k 0 0 4852k 0 0:00:09 0:00:01 0:00:08 $'4851k\r' 34 47.2M 34 16.4M 0 0 5786k 0 0:00:08 0:00:02 0:00:06 $'5785k\r' 51 47.2M 51 24.4M 0 0 6418k 0 0:00:07 0:00:03 0:00:04 $'6417k\r' 70 47.2M 70 33.2M 0 0 6942k 0 0:00:06 0:00:04 0:00:02 $'6941k\r' 90 47.2M 90 42.8M 0 0 7430k 0 0:00:06 0:00:05 0:00:01 $'8188k\r100' 47.2M 100 47.2M 0 0 7631k 0 0:00:06 0:00:06 --:--:-- 8827k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 3.0-ruyi.20240224 ']' ++ '[' '!' -d 3.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 2505k 0 0 2701k 0 0:01:56 --:--:-- 0:01:56 2699k 2 308M 2 6969k 0 0 3616k 0 0:01:27 0:00:01 0:01:26 3614k 3 308M 3 10.8M 0 0 3790k 0 0:01:23 0:00:02 0:01:21 3790k 5 308M 5 15.4M 0 0 4026k 0 0:01:18 0:00:03 0:01:15 4025k 6 308M 6 20.2M 0 0 4216k 0 0:01:14 0:00:04 0:01:10 4216k 7 308M 7 24.6M 0 0 4252k 0 0:01:14 0:00:05 0:01:09 4540k 9 308M 9 28.3M 0 0 4192k 0 0:01:15 0:00:06 0:01:09 4415k 10 308M 10 31.6M 0 0 4091k 0 0:01:17 0:00:07 0:01:10 4267k 11 308M 11 34.6M 0 0 3968k 0 0:01:19 0:00:08 0:01:11 3923k 12 308M 12 37.8M 0 0 3901k 0 0:01:20 0:00:09 0:01:11 3590k 13 308M 13 41.7M 0 0 3912k 0 0:01:20 0:00:10 0:01:10 3510k 15 308M 15 46.6M 0 0 4005k 0 0:01:18 0:00:11 0:01:07 3747k 16 308M 16 52.3M 0 0 4150k 0 0:01:16 0:00:12 0:01:04 4244k 19 308M 19 58.9M 0 0 4332k 0 0:01:12 0:00:13 0:00:59 4982k 21 308M 21 66.2M 0 0 4544k 0 0:01:09 0:00:14 0:00:55 5820k 24 308M 24 74.3M 0 0 4781k 0 0:01:06 0:00:15 0:00:51 6678k 26 308M 26 83.0M 0 0 5025k 0 0:01:02 0:00:16 0:00:46 7459k 29 308M 29 90.3M 0 0 5162k 0 0:01:01 0:00:17 0:00:44 7779k 31 308M 31 98.1M 0 0 5310k 0 0:00:59 0:00:18 0:00:41 8036k 34 308M 34 106M 0 0 5447k 0 0:00:57 0:00:19 0:00:38 8144k 36 308M 36 113M 0 0 5533k 0 0:00:57 0:00:20 0:00:37 7929k 38 308M 38 119M 0 0 5588k 0 0:00:56 0:00:21 0:00:35 7492k 40 308M 40 125M 0 0 5613k 0 0:00:56 0:00:22 0:00:34 7232k 42 308M 42 131M 0 0 5612k 0 0:00:56 0:00:23 0:00:33 6755k 44 308M 44 135M 0 0 5585k 0 0:00:56 0:00:24 0:00:32 6137k 45 308M 45 140M 0 0 5543k 0 0:00:56 0:00:25 0:00:31 5587k 46 308M 46 144M 0 0 5492k 0 0:00:57 0:00:26 0:00:31 5071k 48 308M 48 148M 0 0 5447k 0 0:00:57 0:00:27 0:00:30 4684k 49 308M 49 152M 0 0 5414k 0 0:00:58 0:00:28 0:00:30 4467k 50 308M 50 156M 0 0 5367k 0 0:00:58 0:00:29 0:00:29 4278k 52 308M 52 160M 0 0 5324k 0 0:00:59 0:00:30 0:00:29 4187k 53 308M 53 164M 0 0 5267k 0 0:00:59 0:00:31 0:00:28 4054k 54 308M 54 167M 0 0 5210k 0 0:01:00 0:00:32 0:00:28 3887k 55 308M 55 171M 0 0 5167k 0 0:01:01 0:00:33 0:00:28 3740k 56 308M 56 174M 0 0 5120k 0 0:01:01 0:00:34 0:00:27 3640k 57 308M 57 178M 0 0 5074k 0 0:01:02 0:00:35 0:00:27 3531k 59 308M 59 182M 0 0 5059k 0 0:01:02 0:00:36 0:00:26 3731k 60 308M 60 187M 0 0 5051k 0 0:01:02 0:00:37 0:00:25 4003k 62 308M 62 191M 0 0 5040k 0 0:01:02 0:00:38 0:00:24 4175k 63 308M 63 196M 0 0 5037k 0 0:01:02 0:00:39 0:00:23 4458k 65 308M 65 201M 0 0 5029k 0 0:01:02 0:00:40 0:00:22 4700k 66 308M 66 205M 0 0 4902k 0 0:01:04 0:00:42 0:00:22 3933k 67 308M 67 208M 0 0 4974k 0 0:01:03 0:00:42 0:00:21 4387k 69 308M 69 213M 0 0 4970k 0 0:01:03 0:00:43 0:00:20 4428k 70 308M 70 218M 0 0 4978k 0 0:01:03 0:00:44 0:00:19 4508k 72 308M 72 224M 0 0 5004k 0 0:01:03 0:00:45 0:00:18 4800k 75 308M 75 231M 0 0 5045k 0 0:01:02 0:00:46 0:00:16 6572k 76 308M 76 236M 0 0 5062k 0 0:01:02 0:00:47 0:00:15 5824k 78 308M 78 243M 0 0 5093k 0 0:01:01 0:00:48 0:00:13 6171k 81 308M 81 250M 0 0 5135k 0 0:01:01 0:00:49 0:00:12 6550k 83 308M 83 257M 0 0 5169k 0 0:01:01 0:00:50 0:00:11 6689k 84 308M 84 259M 0 0 5120k 0 0:01:01 0:00:51 0:00:10 5816k 84 308M 84 260M 0 0 5042k 0 0:01:02 0:00:52 0:00:10 4847k 84 308M 84 261M 0 0 4969k 0 0:01:03 0:00:53 0:00:10 3753k 85 308M 85 263M 0 0 4914k 0 0:01:04 0:00:54 0:00:10 2703k 86 308M 86 266M 0 0 4876k 0 0:01:04 0:00:55 0:00:09 1888k 87 308M 87 269M 0 0 4854k 0 0:01:05 0:00:56 0:00:09 2090k 88 308M 88 274M 0 0 4845k 0 0:01:05 0:00:57 0:00:08 2760k 90 308M 90 279M 0 0 4851k 0 0:01:05 0:00:58 0:00:07 3577k 92 308M 92 284M 0 0 4866k 0 0:01:04 0:00:59 0:00:05 4338k 94 308M 94 290M 0 0 4880k 0 0:01:04 0:01:00 0:00:04 4921k 95 308M 95 295M 0 0 4891k 0 0:01:04 0:01:01 0:00:03 5312k 97 308M 97 301M 0 0 4905k 0 0:01:04 0:01:02 0:00:02 5600k 99 308M 99 307M 0 0 4930k 0 0:01:04 0:01:03 0:00:01 5865k 100 308M 100 308M 0 0 4933k 0 0:01:03 0:01:03 --:--:-- 5922k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 2505k 0 0 2701k 0 0:01:56 --:--:-- 0:01:56 $'2699k\r' 2 308M 2 6969k 0 0 3616k 0 0:01:27 0:00:01 0:01:26 $'3614k\r' 3 308M 3 10.8M 0 0 3790k 0 0:01:23 0:00:02 0:01:21 $'3790k\r' 5 308M 5 15.4M 0 0 4026k 0 0:01:18 0:00:03 0:01:15 $'4025k\r' 6 308M 6 20.2M 0 0 4216k 0 0:01:14 0:00:04 0:01:10 $'4216k\r' 7 308M 7 24.6M 0 0 4252k 0 0:01:14 0:00:05 0:01:09 $'4540k\r' 9 308M 9 28.3M 0 0 4192k 0 0:01:15 0:00:06 0:01:09 $'4415k\r' 10 308M 10 31.6M 0 0 4091k 0 0:01:17 0:00:07 0:01:10 $'4267k\r' 11 308M 11 34.6M 0 0 3968k 0 0:01:19 0:00:08 0:01:11 $'3923k\r' 12 308M 12 37.8M 0 0 3901k 0 0:01:20 0:00:09 0:01:11 $'3590k\r' 13 308M 13 41.7M 0 0 3912k 0 0:01:20 0:00:10 0:01:10 $'3510k\r' 15 308M 15 46.6M 0 0 4005k 0 0:01:18 0:00:11 0:01:07 $'3747k\r' 16 308M 16 52.3M 0 0 4150k 0 0:01:16 0:00:12 0:01:04 $'4244k\r' 19 308M 19 58.9M 0 0 4332k 0 0:01:12 0:00:13 0:00:59 $'4982k\r' 21 308M 21 66.2M 0 0 4544k 0 0:01:09 0:00:14 0:00:55 $'5820k\r' 24 308M 24 74.3M 0 0 4781k 0 0:01:06 0:00:15 0:00:51 $'6678k\r' 26 308M 26 83.0M 0 0 5025k 0 0:01:02 0:00:16 0:00:46 $'7459k\r' 29 308M 29 90.3M 0 0 5162k 0 0:01:01 0:00:17 0:00:44 $'7779k\r' 31 308M 31 98.1M 0 0 5310k 0 0:00:59 0:00:18 0:00:41 $'8036k\r' 34 308M 34 106M 0 0 5447k 0 0:00:57 0:00:19 0:00:38 $'8144k\r' 36 308M 36 113M 0 0 5533k 0 0:00:57 0:00:20 0:00:37 $'7929k\r' 38 308M 38 119M 0 0 5588k 0 0:00:56 0:00:21 0:00:35 $'7492k\r' 40 308M 40 125M 0 0 5613k 0 0:00:56 0:00:22 0:00:34 $'7232k\r' 42 308M 42 131M 0 0 5612k 0 0:00:56 0:00:23 0:00:33 $'6755k\r' 44 308M 44 135M 0 0 5585k 0 0:00:56 0:00:24 0:00:32 $'6137k\r' 45 308M 45 140M 0 0 5543k 0 0:00:56 0:00:25 0:00:31 $'5587k\r' 46 308M 46 144M 0 0 5492k 0 0:00:57 0:00:26 0:00:31 $'5071k\r' 48 308M 48 148M 0 0 5447k 0 0:00:57 0:00:27 0:00:30 $'4684k\r' 49 308M 49 152M 0 0 5414k 0 0:00:58 0:00:28 0:00:30 $'4467k\r' 50 308M 50 156M 0 0 5367k 0 0:00:58 0:00:29 0:00:29 $'4278k\r' 52 308M 52 160M 0 0 5324k 0 0:00:59 0:00:30 0:00:29 $'4187k\r' 53 308M 53 164M 0 0 5267k 0 0:00:59 0:00:31 0:00:28 $'4054k\r' 54 308M 54 167M 0 0 5210k 0 0:01:00 0:00:32 0:00:28 $'3887k\r' 55 308M 55 171M 0 0 5167k 0 0:01:01 0:00:33 0:00:28 $'3740k\r' 56 308M 56 174M 0 0 5120k 0 0:01:01 0:00:34 0:00:27 $'3640k\r' 57 308M 57 178M 0 0 5074k 0 0:01:02 0:00:35 0:00:27 $'3531k\r' 59 308M 59 182M 0 0 5059k 0 0:01:02 0:00:36 0:00:26 $'3731k\r' 60 308M 60 187M 0 0 5051k 0 0:01:02 0:00:37 0:00:25 $'4003k\r' 62 308M 62 191M 0 0 5040k 0 0:01:02 0:00:38 0:00:24 $'4175k\r' 63 308M 63 196M 0 0 5037k 0 0:01:02 0:00:39 0:00:23 $'4458k\r' 65 308M 65 201M 0 0 5029k 0 0:01:02 0:00:40 0:00:22 $'4700k\r' 66 308M 66 205M 0 0 4902k 0 0:01:04 0:00:42 0:00:22 $'3933k\r' 67 308M 67 208M 0 0 4974k 0 0:01:03 0:00:42 0:00:21 $'4387k\r' 69 308M 69 213M 0 0 4970k 0 0:01:03 0:00:43 0:00:20 $'4428k\r' 70 308M 70 218M 0 0 4978k 0 0:01:03 0:00:44 0:00:19 $'4508k\r' 72 308M 72 224M 0 0 5004k 0 0:01:03 0:00:45 0:00:18 $'4800k\r' 75 308M 75 231M 0 0 5045k 0 0:01:02 0:00:46 0:00:16 $'6572k\r' 76 308M 76 236M 0 0 5062k 0 0:01:02 0:00:47 0:00:15 $'5824k\r' 78 308M 78 243M 0 0 5093k 0 0:01:01 0:00:48 0:00:13 $'6171k\r' 81 308M 81 250M 0 0 5135k 0 0:01:01 0:00:49 0:00:12 $'6550k\r' 83 308M 83 257M 0 0 5169k 0 0:01:01 0:00:50 0:00:11 $'6689k\r' 84 308M 84 259M 0 0 5120k 0 0:01:01 0:00:51 0:00:10 $'5816k\r' 84 308M 84 260M 0 0 5042k 0 0:01:02 0:00:52 0:00:10 $'4847k\r' 84 308M 84 261M 0 0 4969k 0 0:01:03 0:00:53 0:00:10 $'3753k\r' 85 308M 85 263M 0 0 4914k 0 0:01:04 0:00:54 0:00:10 $'2703k\r' 86 308M 86 266M 0 0 4876k 0 0:01:04 0:00:55 0:00:09 $'1888k\r' 87 308M 87 269M 0 0 4854k 0 0:01:05 0:00:56 0:00:09 $'2090k\r' 88 308M 88 274M 0 0 4845k 0 0:01:05 0:00:57 0:00:08 $'2760k\r' 90 308M 90 279M 0 0 4851k 0 0:01:05 0:00:58 0:00:07 $'3577k\r' 92 308M 92 284M 0 0 4866k 0 0:01:04 0:00:59 0:00:05 $'4338k\r' 94 308M 94 290M 0 0 4880k 0 0:01:04 0:01:00 0:00:04 $'4921k\r' 95 308M 95 295M 0 0 4891k 0 0:01:04 0:01:01 0:00:03 $'5312k\r' 97 308M 97 301M 0 0 4905k 0 0:01:04 0:01:02 0:00:02 $'5600k\r' 99 308M 99 307M 0 0 4930k 0 0:01:04 0:01:03 0:00:01 $'5865k\r100' 308M 100 308M 0 0 4933k 0 0:01:03 0:01:03 --:--:-- 5922k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ bp=222 ++ bpb=222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 308M 0 2505k 0 0 2701k 0 0:01:56 --:--:-- 0:01:56 $'2699k\r' 2 308M 2 6969k 0 0 3616k 0 0:01:27 0:00:01 0:01:26 $'3614k\r' 3 308M 3 10.8M 0 0 3790k 0 0:01:23 0:00:02 0:01:21 $'3790k\r' 5 308M 5 15.4M 0 0 4026k 0 0:01:18 0:00:03 0:01:15 $'4025k\r' 6 308M 6 20.2M 0 0 4216k 0 0:01:14 0:00:04 0:01:10 $'4216k\r' 7 308M 7 24.6M 0 0 4252k 0 0:01:14 0:00:05 0:01:09 $'4540k\r' 9 308M 9 28.3M 0 0 4192k 0 0:01:15 0:00:06 0:01:09 $'4415k\r' 10 308M 10 31.6M 0 0 4091k 0 0:01:17 0:00:07 0:01:10 $'4267k\r' 11 308M 11 34.6M 0 0 3968k 0 0:01:19 0:00:08 0:01:11 $'3923k\r' 12 308M 12 37.8M 0 0 3901k 0 0:01:20 0:00:09 0:01:11 $'3590k\r' 13 308M 13 41.7M 0 0 3912k 0 0:01:20 0:00:10 0:01:10 $'3510k\r' 15 308M 15 46.6M 0 0 4005k 0 0:01:18 0:00:11 0:01:07 $'3747k\r' 16 308M 16 52.3M 0 0 4150k 0 0:01:16 0:00:12 0:01:04 $'4244k\r' 19 308M 19 58.9M 0 0 4332k 0 0:01:12 0:00:13 0:00:59 $'4982k\r' 21 308M 21 66.2M 0 0 4544k 0 0:01:09 0:00:14 0:00:55 $'5820k\r' 24 308M 24 74.3M 0 0 4781k 0 0:01:06 0:00:15 0:00:51 $'6678k\r' 26 308M 26 83.0M 0 0 5025k 0 0:01:02 0:00:16 0:00:46 $'7459k\r' 29 308M 29 90.3M 0 0 5162k 0 0:01:01 0:00:17 0:00:44 $'7779k\r' 31 308M 31 98.1M 0 0 5310k 0 0:00:59 0:00:18 0:00:41 $'8036k\r' 34 308M 34 106M 0 0 5447k 0 0:00:57 0:00:19 0:00:38 $'8144k\r' 36 308M 36 113M 0 0 5533k 0 0:00:57 0:00:20 0:00:37 $'7929k\r' 38 308M 38 119M 0 0 5588k 0 0:00:56 0:00:21 0:00:35 $'7492k\r' 40 308M 40 125M 0 0 5613k 0 0:00:56 0:00:22 0:00:34 $'7232k\r' 42 308M 42 131M 0 0 5612k 0 0:00:56 0:00:23 0:00:33 $'6755k\r' 44 308M 44 135M 0 0 5585k 0 0:00:56 0:00:24 0:00:32 $'6137k\r' 45 308M 45 140M 0 0 5543k 0 0:00:56 0:00:25 0:00:31 $'5587k\r' 46 308M 46 144M 0 0 5492k 0 0:00:57 0:00:26 0:00:31 $'5071k\r' 48 308M 48 148M 0 0 5447k 0 0:00:57 0:00:27 0:00:30 $'4684k\r' 49 308M 49 152M 0 0 5414k 0 0:00:58 0:00:28 0:00:30 $'4467k\r' 50 308M 50 156M 0 0 5367k 0 0:00:58 0:00:29 0:00:29 $'4278k\r' 52 308M 52 160M 0 0 5324k 0 0:00:59 0:00:30 0:00:29 $'4187k\r' 53 308M 53 164M 0 0 5267k 0 0:00:59 0:00:31 0:00:28 $'4054k\r' 54 308M 54 167M 0 0 5210k 0 0:01:00 0:00:32 0:00:28 $'3887k\r' 55 308M 55 171M 0 0 5167k 0 0:01:01 0:00:33 0:00:28 $'3740k\r' 56 308M 56 174M 0 0 5120k 0 0:01:01 0:00:34 0:00:27 $'3640k\r' 57 308M 57 178M 0 0 5074k 0 0:01:02 0:00:35 0:00:27 $'3531k\r' 59 308M 59 182M 0 0 5059k 0 0:01:02 0:00:36 0:00:26 $'3731k\r' 60 308M 60 187M 0 0 5051k 0 0:01:02 0:00:37 0:00:25 $'4003k\r' 62 308M 62 191M 0 0 5040k 0 0:01:02 0:00:38 0:00:24 $'4175k\r' 63 308M 63 196M 0 0 5037k 0 0:01:02 0:00:39 0:00:23 $'4458k\r' 65 308M 65 201M 0 0 5029k 0 0:01:02 0:00:40 0:00:22 $'4700k\r' 66 308M 66 205M 0 0 4902k 0 0:01:04 0:00:42 0:00:22 $'3933k\r' 67 308M 67 208M 0 0 4974k 0 0:01:03 0:00:42 0:00:21 $'4387k\r' 69 308M 69 213M 0 0 4970k 0 0:01:03 0:00:43 0:00:20 $'4428k\r' 70 308M 70 218M 0 0 4978k 0 0:01:03 0:00:44 0:00:19 $'4508k\r' 72 308M 72 224M 0 0 5004k 0 0:01:03 0:00:45 0:00:18 $'4800k\r' 75 308M 75 231M 0 0 5045k 0 0:01:02 0:00:46 0:00:16 $'6572k\r' 76 308M 76 236M 0 0 5062k 0 0:01:02 0:00:47 0:00:15 $'5824k\r' 78 308M 78 243M 0 0 5093k 0 0:01:01 0:00:48 0:00:13 $'6171k\r' 81 308M 81 250M 0 0 5135k 0 0:01:01 0:00:49 0:00:12 $'6550k\r' 83 308M 83 257M 0 0 5169k 0 0:01:01 0:00:50 0:00:11 $'6689k\r' 84 308M 84 259M 0 0 5120k 0 0:01:01 0:00:51 0:00:10 $'5816k\r' 84 308M 84 260M 0 0 5042k 0 0:01:02 0:00:52 0:00:10 $'4847k\r' 84 308M 84 261M 0 0 4969k 0 0:01:03 0:00:53 0:00:10 $'3753k\r' 85 308M 85 263M 0 0 4914k 0 0:01:04 0:00:54 0:00:10 $'2703k\r' 86 308M 86 266M 0 0 4876k 0 0:01:04 0:00:55 0:00:09 $'1888k\r' 87 308M 87 269M 0 0 4854k 0 0:01:05 0:00:56 0:00:09 $'2090k\r' 88 308M 88 274M 0 0 4845k 0 0:01:05 0:00:57 0:00:08 $'2760k\r' 90 308M 90 279M 0 0 4851k 0 0:01:05 0:00:58 0:00:07 $'3577k\r' 92 308M 92 284M 0 0 4866k 0 0:01:04 0:00:59 0:00:05 $'4338k\r' 94 308M 94 290M 0 0 4880k 0 0:01:04 0:01:00 0:00:04 $'4921k\r' 95 308M 95 295M 0 0 4891k 0 0:01:04 0:01:01 0:00:03 $'5312k\r' 97 308M 97 301M 0 0 4905k 0 0:01:04 0:01:02 0:00:02 $'5600k\r' 99 308M 99 307M 0 0 4930k 0 0:01:04 0:01:03 0:00:01 $'5865k\r100' 308M 100 308M 0 0 4933k 0 0:01:03 0:01:03 --:--:-- 5922k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 222 ']' ++ '[' '!' -d 222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 232M 0 1325k 0 0 2730k 0 0:01:27 --:--:-- 0:01:27 2728k 3 232M 3 8317k 0 0 5605k 0 0:00:42 0:00:01 0:00:41 5605k 6 232M 6 15.8M 0 0 6530k 0 0:00:36 0:00:02 0:00:34 6530k 10 232M 10 24.1M 0 0 7107k 0 0:00:33 0:00:03 0:00:30 7106k 14 232M 14 33.3M 0 0 7610k 0 0:00:31 0:00:04 0:00:27 7610k 16 232M 16 39.1M 0 0 7314k 0 0:00:32 0:00:05 0:00:27 7758k 19 232M 19 44.8M 0 0 7089k 0 0:00:33 0:00:06 0:00:27 7529k 21 232M 21 50.4M 0 0 6905k 0 0:00:34 0:00:07 0:00:27 7091k 22 232M 22 53.3M 0 0 6436k 0 0:00:36 0:00:08 0:00:28 5967k 24 232M 24 56.8M 0 0 6136k 0 0:00:38 0:00:09 0:00:29 4816k 25 232M 25 60.2M 0 0 5885k 0 0:00:40 0:00:10 0:00:30 4320k 27 232M 27 63.7M 0 0 5681k 0 0:00:41 0:00:11 0:00:30 3856k 29 232M 29 67.6M 0 0 5549k 0 0:00:42 0:00:12 0:00:30 3522k 30 232M 30 70.6M 0 0 5366k 0 0:00:44 0:00:13 0:00:31 3552k 31 232M 31 73.2M 0 0 5180k 0 0:00:45 0:00:14 0:00:31 3366k 32 232M 32 75.5M 0 0 4996k 0 0:00:47 0:00:15 0:00:32 3132k 33 232M 33 77.8M 0 0 4838k 0 0:00:49 0:00:16 0:00:33 2901k 34 232M 34 80.7M 0 0 4727k 0 0:00:50 0:00:17 0:00:33 2672k 36 232M 36 83.5M 0 0 4626k 0 0:00:51 0:00:18 0:00:33 2633k 37 232M 37 86.5M 0 0 4548k 0 0:00:52 0:00:19 0:00:33 2716k 38 232M 38 89.9M 0 0 4496k 0 0:00:52 0:00:20 0:00:32 2947k 39 232M 39 92.3M 0 0 4399k 0 0:00:54 0:00:21 0:00:33 2953k 40 232M 40 94.6M 0 0 4311k 0 0:00:55 0:00:22 0:00:33 2857k 42 232M 42 97.9M 0 0 4270k 0 0:00:55 0:00:23 0:00:32 2954k 43 232M 43 101M 0 0 4245k 0 0:00:55 0:00:24 0:00:31 3074k 45 232M 45 104M 0 0 4195k 0 0:00:56 0:00:25 0:00:31 2963k 46 232M 46 107M 0 0 4143k 0 0:00:57 0:00:26 0:00:31 3043k 47 232M 47 109M 0 0 4087k 0 0:00:58 0:00:27 0:00:31 3078k 48 232M 48 111M 0 0 4004k 0 0:00:59 0:00:28 0:00:31 2755k 48 232M 48 113M 0 0 3937k 0 0:01:00 0:00:29 0:00:31 2414k 50 232M 50 116M 0 0 3901k 0 0:01:00 0:00:30 0:00:30 2400k 51 232M 51 118M 0 0 3870k 0 0:01:01 0:00:31 0:00:30 2421k 52 232M 52 121M 0 0 3842k 0 0:01:01 0:00:32 0:00:29 2499k 54 232M 54 125M 0 0 3836k 0 0:01:01 0:00:33 0:00:28 2873k 55 232M 55 128M 0 0 3829k 0 0:01:02 0:00:34 0:00:28 3190k 56 232M 56 131M 0 0 3796k 0 0:01:02 0:00:35 0:00:27 3161k 57 232M 57 134M 0 0 3764k 0 0:01:03 0:00:36 0:00:27 3097k 59 232M 59 137M 0 0 3748k 0 0:01:03 0:00:37 0:00:26 3139k 60 232M 60 139M 0 0 3724k 0 0:01:03 0:00:38 0:00:25 2981k 61 232M 61 142M 0 0 3693k 0 0:01:04 0:00:39 0:00:25 2758k 62 232M 62 144M 0 0 3657k 0 0:01:04 0:00:40 0:00:24 2669k 63 232M 63 146M 0 0 3622k 0 0:01:05 0:00:41 0:00:24 2585k 64 232M 64 148M 0 0 3583k 0 0:01:06 0:00:42 0:00:24 2345k 64 232M 64 150M 0 0 3548k 0 0:01:06 0:00:43 0:00:23 2195k 66 232M 66 153M 0 0 3529k 0 0:01:07 0:00:44 0:00:23 2236k 67 232M 67 155M 0 0 3503k 0 0:01:07 0:00:45 0:00:22 2256k 68 232M 68 158M 0 0 3501k 0 0:01:07 0:00:46 0:00:21 2496k 69 232M 69 162M 0 0 3500k 0 0:01:07 0:00:47 0:00:20 2790k 70 232M 70 164M 0 0 3475k 0 0:01:08 0:00:48 0:00:20 2841k 71 232M 71 166M 0 0 3452k 0 0:01:08 0:00:49 0:00:19 2767k 72 232M 72 169M 0 0 3433k 0 0:01:09 0:00:50 0:00:19 2796k 73 232M 73 171M 0 0 3404k 0 0:01:09 0:00:51 0:00:18 2502k 74 232M 74 173M 0 0 3380k 0 0:01:10 0:00:52 0:00:18 2240k 75 232M 75 175M 0 0 3364k 0 0:01:10 0:00:53 0:00:17 2283k 76 232M 76 178M 0 0 3352k 0 0:01:10 0:00:54 0:00:16 2355k 78 232M 78 181M 0 0 3344k 0 0:01:11 0:00:55 0:00:16 2444k 79 232M 79 183M 0 0 3331k 0 0:01:11 0:00:56 0:00:15 2586k 80 232M 80 186M 0 0 3316k 0 0:01:11 0:00:57 0:00:14 2643k 81 232M 81 188M 0 0 3293k 0 0:01:12 0:00:58 0:00:14 2534k 81 232M 81 189M 0 0 3267k 0 0:01:12 0:00:59 0:00:13 2342k 82 232M 82 191M 0 0 3238k 0 0:01:13 0:01:00 0:00:13 2063k 83 232M 83 192M 0 0 3208k 0 0:01:14 0:01:01 0:00:13 1819k 83 232M 83 193M 0 0 3176k 0 0:01:14 0:01:02 0:00:12 1574k 84 232M 84 195M 0 0 3152k 0 0:01:15 0:01:03 0:00:12 1500k 84 232M 84 196M 0 0 3128k 0 0:01:15 0:01:04 0:00:11 1472k 85 232M 85 198M 0 0 3108k 0 0:01:16 0:01:05 0:00:11 1535k 86 232M 86 200M 0 0 3090k 0 0:01:16 0:01:06 0:00:10 1629k 87 232M 87 202M 0 0 3070k 0 0:01:17 0:01:07 0:00:10 1747k 88 232M 88 204M 0 0 3054k 0 0:01:17 0:01:08 0:00:09 1809k 88 232M 88 205M 0 0 3034k 0 0:01:18 0:01:09 0:00:09 1833k 89 232M 89 207M 0 0 3019k 0 0:01:18 0:01:10 0:00:08 1857k 90 232M 90 209M 0 0 3002k 0 0:01:19 0:01:11 0:00:08 1842k 91 232M 91 212M 0 0 2997k 0 0:01:19 0:01:12 0:00:07 2003k 92 232M 92 215M 0 0 3003k 0 0:01:19 0:01:13 0:00:06 2302k 94 232M 94 219M 0 0 3022k 0 0:01:18 0:01:14 0:00:04 2845k 96 232M 96 225M 0 0 3052k 0 0:01:17 0:01:15 0:00:02 3513k 99 232M 99 230M 0 0 3089k 0 0:01:16 0:01:16 --:--:-- 4324k 100 232M 100 232M 0 0 3097k 0 0:01:16 0:01:16 --:--:-- 4815k +info: extracting +RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package +gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 232M 0 1325k 0 0 2730k 0 0:01:27 --:--:-- 0:01:27 $'2728k\r' 3 232M 3 8317k 0 0 5605k 0 0:00:42 0:00:01 0:00:41 $'5605k\r' 6 232M 6 15.8M 0 0 6530k 0 0:00:36 0:00:02 0:00:34 $'6530k\r' 10 232M 10 24.1M 0 0 7107k 0 0:00:33 0:00:03 0:00:30 $'7106k\r' 14 232M 14 33.3M 0 0 7610k 0 0:00:31 0:00:04 0:00:27 $'7610k\r' 16 232M 16 39.1M 0 0 7314k 0 0:00:32 0:00:05 0:00:27 $'7758k\r' 19 232M 19 44.8M 0 0 7089k 0 0:00:33 0:00:06 0:00:27 $'7529k\r' 21 232M 21 50.4M 0 0 6905k 0 0:00:34 0:00:07 0:00:27 $'7091k\r' 22 232M 22 53.3M 0 0 6436k 0 0:00:36 0:00:08 0:00:28 $'5967k\r' 24 232M 24 56.8M 0 0 6136k 0 0:00:38 0:00:09 0:00:29 $'4816k\r' 25 232M 25 60.2M 0 0 5885k 0 0:00:40 0:00:10 0:00:30 $'4320k\r' 27 232M 27 63.7M 0 0 5681k 0 0:00:41 0:00:11 0:00:30 $'3856k\r' 29 232M 29 67.6M 0 0 5549k 0 0:00:42 0:00:12 0:00:30 $'3522k\r' 30 232M 30 70.6M 0 0 5366k 0 0:00:44 0:00:13 0:00:31 $'3552k\r' 31 232M 31 73.2M 0 0 5180k 0 0:00:45 0:00:14 0:00:31 $'3366k\r' 32 232M 32 75.5M 0 0 4996k 0 0:00:47 0:00:15 0:00:32 $'3132k\r' 33 232M 33 77.8M 0 0 4838k 0 0:00:49 0:00:16 0:00:33 $'2901k\r' 34 232M 34 80.7M 0 0 4727k 0 0:00:50 0:00:17 0:00:33 $'2672k\r' 36 232M 36 83.5M 0 0 4626k 0 0:00:51 0:00:18 0:00:33 $'2633k\r' 37 232M 37 86.5M 0 0 4548k 0 0:00:52 0:00:19 0:00:33 $'2716k\r' 38 232M 38 89.9M 0 0 4496k 0 0:00:52 0:00:20 0:00:32 $'2947k\r' 39 232M 39 92.3M 0 0 4399k 0 0:00:54 0:00:21 0:00:33 $'2953k\r' 40 232M 40 94.6M 0 0 4311k 0 0:00:55 0:00:22 0:00:33 $'2857k\r' 42 232M 42 97.9M 0 0 4270k 0 0:00:55 0:00:23 0:00:32 $'2954k\r' 43 232M 43 101M 0 0 4245k 0 0:00:55 0:00:24 0:00:31 $'3074k\r' 45 232M 45 104M 0 0 4195k 0 0:00:56 0:00:25 0:00:31 $'2963k\r' 46 232M 46 107M 0 0 4143k 0 0:00:57 0:00:26 0:00:31 $'3043k\r' 47 232M 47 109M 0 0 4087k 0 0:00:58 0:00:27 0:00:31 $'3078k\r' 48 232M 48 111M 0 0 4004k 0 0:00:59 0:00:28 0:00:31 $'2755k\r' 48 232M 48 113M 0 0 3937k 0 0:01:00 0:00:29 0:00:31 $'2414k\r' 50 232M 50 116M 0 0 3901k 0 0:01:00 0:00:30 0:00:30 $'2400k\r' 51 232M 51 118M 0 0 3870k 0 0:01:01 0:00:31 0:00:30 $'2421k\r' 52 232M 52 121M 0 0 3842k 0 0:01:01 0:00:32 0:00:29 $'2499k\r' 54 232M 54 125M 0 0 3836k 0 0:01:01 0:00:33 0:00:28 $'2873k\r' 55 232M 55 128M 0 0 3829k 0 0:01:02 0:00:34 0:00:28 $'3190k\r' 56 232M 56 131M 0 0 3796k 0 0:01:02 0:00:35 0:00:27 $'3161k\r' 57 232M 57 134M 0 0 3764k 0 0:01:03 0:00:36 0:00:27 $'3097k\r' 59 232M 59 137M 0 0 3748k 0 0:01:03 0:00:37 0:00:26 $'3139k\r' 60 232M 60 139M 0 0 3724k 0 0:01:03 0:00:38 0:00:25 $'2981k\r' 61 232M 61 142M 0 0 3693k 0 0:01:04 0:00:39 0:00:25 $'2758k\r' 62 232M 62 144M 0 0 3657k 0 0:01:04 0:00:40 0:00:24 $'2669k\r' 63 232M 63 146M 0 0 3622k 0 0:01:05 0:00:41 0:00:24 $'2585k\r' 64 232M 64 148M 0 0 3583k 0 0:01:06 0:00:42 0:00:24 $'2345k\r' 64 232M 64 150M 0 0 3548k 0 0:01:06 0:00:43 0:00:23 $'2195k\r' 66 232M 66 153M 0 0 3529k 0 0:01:07 0:00:44 0:00:23 $'2236k\r' 67 232M 67 155M 0 0 3503k 0 0:01:07 0:00:45 0:00:22 $'2256k\r' 68 232M 68 158M 0 0 3501k 0 0:01:07 0:00:46 0:00:21 $'2496k\r' 69 232M 69 162M 0 0 3500k 0 0:01:07 0:00:47 0:00:20 $'2790k\r' 70 232M 70 164M 0 0 3475k 0 0:01:08 0:00:48 0:00:20 $'2841k\r' 71 232M 71 166M 0 0 3452k 0 0:01:08 0:00:49 0:00:19 $'2767k\r' 72 232M 72 169M 0 0 3433k 0 0:01:09 0:00:50 0:00:19 $'2796k\r' 73 232M 73 171M 0 0 3404k 0 0:01:09 0:00:51 0:00:18 $'2502k\r' 74 232M 74 173M 0 0 3380k 0 0:01:10 0:00:52 0:00:18 $'2240k\r' 75 232M 75 175M 0 0 3364k 0 0:01:10 0:00:53 0:00:17 $'2283k\r' 76 232M 76 178M 0 0 3352k 0 0:01:10 0:00:54 0:00:16 $'2355k\r' 78 232M 78 181M 0 0 3344k 0 0:01:11 0:00:55 0:00:16 $'2444k\r' 79 232M 79 183M 0 0 3331k 0 0:01:11 0:00:56 0:00:15 $'2586k\r' 80 232M 80 186M 0 0 3316k 0 0:01:11 0:00:57 0:00:14 $'2643k\r' 81 232M 81 188M 0 0 3293k 0 0:01:12 0:00:58 0:00:14 $'2534k\r' 81 232M 81 189M 0 0 3267k 0 0:01:12 0:00:59 0:00:13 $'2342k\r' 82 232M 82 191M 0 0 3238k 0 0:01:13 0:01:00 0:00:13 $'2063k\r' 83 232M 83 192M 0 0 3208k 0 0:01:14 0:01:01 0:00:13 $'1819k\r' 83 232M 83 193M 0 0 3176k 0 0:01:14 0:01:02 0:00:12 $'1574k\r' 84 232M 84 195M 0 0 3152k 0 0:01:15 0:01:03 0:00:12 $'1500k\r' 84 232M 84 196M 0 0 3128k 0 0:01:15 0:01:04 0:00:11 $'1472k\r' 85 232M 85 198M 0 0 3108k 0 0:01:16 0:01:05 0:00:11 $'1535k\r' 86 232M 86 200M 0 0 3090k 0 0:01:16 0:01:06 0:00:10 $'1629k\r' 87 232M 87 202M 0 0 3070k 0 0:01:17 0:01:07 0:00:10 $'1747k\r' 88 232M 88 204M 0 0 3054k 0 0:01:17 0:01:08 0:00:09 $'1809k\r' 88 232M 88 205M 0 0 3034k 0 0:01:18 0:01:09 0:00:09 $'1833k\r' 89 232M 89 207M 0 0 3019k 0 0:01:18 0:01:10 0:00:08 $'1857k\r' 90 232M 90 209M 0 0 3002k 0 0:01:19 0:01:11 0:00:08 $'1842k\r' 91 232M 91 212M 0 0 2997k 0 0:01:19 0:01:12 0:00:07 $'2003k\r' 92 232M 92 215M 0 0 3003k 0 0:01:19 0:01:13 0:00:06 $'2302k\r' 94 232M 94 219M 0 0 3022k 0 0:01:18 0:01:14 0:00:04 $'2845k\r' 96 232M 96 225M 0 0 3052k 0 0:01:17 0:01:15 0:00:02 $'3513k\r' 99 232M 99 230M 0 0 3089k 0 0:01:16 0:01:16 --:--:-- $'4324k\r100' 232M 100 232M 0 0 3097k 0 0:01:16 0:01:16 --:--:-- 4815k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 232M 0 1325k 0 0 2730k 0 0:01:27 --:--:-- 0:01:27 $'2728k\r' 3 232M 3 8317k 0 0 5605k 0 0:00:42 0:00:01 0:00:41 $'5605k\r' 6 232M 6 15.8M 0 0 6530k 0 0:00:36 0:00:02 0:00:34 $'6530k\r' 10 232M 10 24.1M 0 0 7107k 0 0:00:33 0:00:03 0:00:30 $'7106k\r' 14 232M 14 33.3M 0 0 7610k 0 0:00:31 0:00:04 0:00:27 $'7610k\r' 16 232M 16 39.1M 0 0 7314k 0 0:00:32 0:00:05 0:00:27 $'7758k\r' 19 232M 19 44.8M 0 0 7089k 0 0:00:33 0:00:06 0:00:27 $'7529k\r' 21 232M 21 50.4M 0 0 6905k 0 0:00:34 0:00:07 0:00:27 $'7091k\r' 22 232M 22 53.3M 0 0 6436k 0 0:00:36 0:00:08 0:00:28 $'5967k\r' 24 232M 24 56.8M 0 0 6136k 0 0:00:38 0:00:09 0:00:29 $'4816k\r' 25 232M 25 60.2M 0 0 5885k 0 0:00:40 0:00:10 0:00:30 $'4320k\r' 27 232M 27 63.7M 0 0 5681k 0 0:00:41 0:00:11 0:00:30 $'3856k\r' 29 232M 29 67.6M 0 0 5549k 0 0:00:42 0:00:12 0:00:30 $'3522k\r' 30 232M 30 70.6M 0 0 5366k 0 0:00:44 0:00:13 0:00:31 $'3552k\r' 31 232M 31 73.2M 0 0 5180k 0 0:00:45 0:00:14 0:00:31 $'3366k\r' 32 232M 32 75.5M 0 0 4996k 0 0:00:47 0:00:15 0:00:32 $'3132k\r' 33 232M 33 77.8M 0 0 4838k 0 0:00:49 0:00:16 0:00:33 $'2901k\r' 34 232M 34 80.7M 0 0 4727k 0 0:00:50 0:00:17 0:00:33 $'2672k\r' 36 232M 36 83.5M 0 0 4626k 0 0:00:51 0:00:18 0:00:33 $'2633k\r' 37 232M 37 86.5M 0 0 4548k 0 0:00:52 0:00:19 0:00:33 $'2716k\r' 38 232M 38 89.9M 0 0 4496k 0 0:00:52 0:00:20 0:00:32 $'2947k\r' 39 232M 39 92.3M 0 0 4399k 0 0:00:54 0:00:21 0:00:33 $'2953k\r' 40 232M 40 94.6M 0 0 4311k 0 0:00:55 0:00:22 0:00:33 $'2857k\r' 42 232M 42 97.9M 0 0 4270k 0 0:00:55 0:00:23 0:00:32 $'2954k\r' 43 232M 43 101M 0 0 4245k 0 0:00:55 0:00:24 0:00:31 $'3074k\r' 45 232M 45 104M 0 0 4195k 0 0:00:56 0:00:25 0:00:31 $'2963k\r' 46 232M 46 107M 0 0 4143k 0 0:00:57 0:00:26 0:00:31 $'3043k\r' 47 232M 47 109M 0 0 4087k 0 0:00:58 0:00:27 0:00:31 $'3078k\r' 48 232M 48 111M 0 0 4004k 0 0:00:59 0:00:28 0:00:31 $'2755k\r' 48 232M 48 113M 0 0 3937k 0 0:01:00 0:00:29 0:00:31 $'2414k\r' 50 232M 50 116M 0 0 3901k 0 0:01:00 0:00:30 0:00:30 $'2400k\r' 51 232M 51 118M 0 0 3870k 0 0:01:01 0:00:31 0:00:30 $'2421k\r' 52 232M 52 121M 0 0 3842k 0 0:01:01 0:00:32 0:00:29 $'2499k\r' 54 232M 54 125M 0 0 3836k 0 0:01:01 0:00:33 0:00:28 $'2873k\r' 55 232M 55 128M 0 0 3829k 0 0:01:02 0:00:34 0:00:28 $'3190k\r' 56 232M 56 131M 0 0 3796k 0 0:01:02 0:00:35 0:00:27 $'3161k\r' 57 232M 57 134M 0 0 3764k 0 0:01:03 0:00:36 0:00:27 $'3097k\r' 59 232M 59 137M 0 0 3748k 0 0:01:03 0:00:37 0:00:26 $'3139k\r' 60 232M 60 139M 0 0 3724k 0 0:01:03 0:00:38 0:00:25 $'2981k\r' 61 232M 61 142M 0 0 3693k 0 0:01:04 0:00:39 0:00:25 $'2758k\r' 62 232M 62 144M 0 0 3657k 0 0:01:04 0:00:40 0:00:24 $'2669k\r' 63 232M 63 146M 0 0 3622k 0 0:01:05 0:00:41 0:00:24 $'2585k\r' 64 232M 64 148M 0 0 3583k 0 0:01:06 0:00:42 0:00:24 $'2345k\r' 64 232M 64 150M 0 0 3548k 0 0:01:06 0:00:43 0:00:23 $'2195k\r' 66 232M 66 153M 0 0 3529k 0 0:01:07 0:00:44 0:00:23 $'2236k\r' 67 232M 67 155M 0 0 3503k 0 0:01:07 0:00:45 0:00:22 $'2256k\r' 68 232M 68 158M 0 0 3501k 0 0:01:07 0:00:46 0:00:21 $'2496k\r' 69 232M 69 162M 0 0 3500k 0 0:01:07 0:00:47 0:00:20 $'2790k\r' 70 232M 70 164M 0 0 3475k 0 0:01:08 0:00:48 0:00:20 $'2841k\r' 71 232M 71 166M 0 0 3452k 0 0:01:08 0:00:49 0:00:19 $'2767k\r' 72 232M 72 169M 0 0 3433k 0 0:01:09 0:00:50 0:00:19 $'2796k\r' 73 232M 73 171M 0 0 3404k 0 0:01:09 0:00:51 0:00:18 $'2502k\r' 74 232M 74 173M 0 0 3380k 0 0:01:10 0:00:52 0:00:18 $'2240k\r' 75 232M 75 175M 0 0 3364k 0 0:01:10 0:00:53 0:00:17 $'2283k\r' 76 232M 76 178M 0 0 3352k 0 0:01:10 0:00:54 0:00:16 $'2355k\r' 78 232M 78 181M 0 0 3344k 0 0:01:11 0:00:55 0:00:16 $'2444k\r' 79 232M 79 183M 0 0 3331k 0 0:01:11 0:00:56 0:00:15 $'2586k\r' 80 232M 80 186M 0 0 3316k 0 0:01:11 0:00:57 0:00:14 $'2643k\r' 81 232M 81 188M 0 0 3293k 0 0:01:12 0:00:58 0:00:14 $'2534k\r' 81 232M 81 189M 0 0 3267k 0 0:01:12 0:00:59 0:00:13 $'2342k\r' 82 232M 82 191M 0 0 3238k 0 0:01:13 0:01:00 0:00:13 $'2063k\r' 83 232M 83 192M 0 0 3208k 0 0:01:14 0:01:01 0:00:13 $'1819k\r' 83 232M 83 193M 0 0 3176k 0 0:01:14 0:01:02 0:00:12 $'1574k\r' 84 232M 84 195M 0 0 3152k 0 0:01:15 0:01:03 0:00:12 $'1500k\r' 84 232M 84 196M 0 0 3128k 0 0:01:15 0:01:04 0:00:11 $'1472k\r' 85 232M 85 198M 0 0 3108k 0 0:01:16 0:01:05 0:00:11 $'1535k\r' 86 232M 86 200M 0 0 3090k 0 0:01:16 0:01:06 0:00:10 $'1629k\r' 87 232M 87 202M 0 0 3070k 0 0:01:17 0:01:07 0:00:10 $'1747k\r' 88 232M 88 204M 0 0 3054k 0 0:01:17 0:01:08 0:00:09 $'1809k\r' 88 232M 88 205M 0 0 3034k 0 0:01:18 0:01:09 0:00:09 $'1833k\r' 89 232M 89 207M 0 0 3019k 0 0:01:18 0:01:10 0:00:08 $'1857k\r' 90 232M 90 209M 0 0 3002k 0 0:01:19 0:01:11 0:00:08 $'1842k\r' 91 232M 91 212M 0 0 2997k 0 0:01:19 0:01:12 0:00:07 $'2003k\r' 92 232M 92 215M 0 0 3003k 0 0:01:19 0:01:13 0:00:06 $'2302k\r' 94 232M 94 219M 0 0 3022k 0 0:01:18 0:01:14 0:00:04 $'2845k\r' 96 232M 96 225M 0 0 3052k 0 0:01:17 0:01:15 0:00:02 $'3513k\r' 99 232M 99 230M 0 0 3089k 0 0:01:16 0:01:16 --:--:-- $'4324k\r100' 232M 100 232M 0 0 3097k 0 0:01:16 0:01:16 --:--:-- 4815k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=51d9b330194b9867afb706b7611e02f9293fe3be, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00007ffee9cbb000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007faa6e4c6000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faa6e29d000) + /lib64/ld-linux-x86-64.so.2 (0x00007faa6e5d5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d1dca52f0b53dd6d6e1a398fff97bf6a24ed2b6e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00007ffdcbfcf000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcc2576b000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcc25542000) + /lib64/ld-linux-x86-64.so.2 (0x00007fcc25882000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7671387815a715ccf29413e6ebd2d694ef4fd9ad, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00007fff1c54c000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe0b3dc4000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe0b3b9b000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe0b3f69000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffe126d1000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f26f432a000) + /lib64/ld-linux-x86-64.so.2 (0x00007f26f455b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46ec6178fe7407f1c90cd30bb536558171a92e3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffe86633000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0263d2d000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0263b04000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0263e44000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=240b045dd7361e3c4bc5007cc8a3498c2d283408, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffea46b5000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f03c9cae000) + /lib64/ld-linux-x86-64.so.2 (0x00007f03c9edf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=33d699b0253e2c2bb40e6cfd086bc66a59d99e2c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffd55a5c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe91ffe9000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe920226000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffc3f9ad000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7a414a0000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7a416d1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00007fff607f3000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fce14dd1000) + /lib64/ld-linux-x86-64.so.2 (0x00007fce15002000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00007fff0e706000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9efd5cf000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9efd800000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93fc5f76c74612a9d0ce7afbc1cd9e42d09dcf1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007fff8f144000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff0cc0ca000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff0cc2fb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1b7ab8553679997bbad242148fd744e0431b0318, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffd27193000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbfef700000) + /lib64/ld-linux-x86-64.so.2 (0x00007fbfef931000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9b9816acb73f92f5a898ec65ca3d74a90d820a84, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffd51d00000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0847e5e000) + /lib64/ld-linux-x86-64.so.2 (0x00007f084808f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e57b5d44de252010151d77f4323ad763e9523ce3, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffd9519e000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbbbe6e2000) + /lib64/ld-linux-x86-64.so.2 (0x00007fbbbe913000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b1fd99fe236a5513419295efe1dd3fe7d738f228, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffca58b5000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fad0425f000) + /lib64/ld-linux-x86-64.so.2 (0x00007fad04490000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6160a5965fccd5c42347d644843e1dd0b94418ae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffe81ee1000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1356ebe000) + /lib64/ld-linux-x86-64.so.2 (0x00007f13570ef000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f27038640ed4ca1647aceff925831111b4de5e1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x00007ffdb7e6c000) + libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x00007f7a387b0000) + libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f7a3877e000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7a38779000) + liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f7a3874e000) + libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7a38522000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7a38439000) + libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7a38419000) + libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7a38414000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7a381eb000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7a391cf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bba2a4aa398576037d78bd7f2d67d84183ca7474, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffff5ffd000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5236889000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5236aba000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=81368607ab7d7e9fc93c70c1a5085ca8cf7d2551, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffd183d6000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9d770d7000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d76eae000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9d771f7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00007ffc725e5000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3505f5d000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3505d34000) + /lib64/ld-linux-x86-64.so.2 (0x00007f3506279000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007fff95c3e000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0dade79000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0dadc50000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0dae195000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=07e0cdeb46eb6749e40f39f886240ec56b077414, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffdcd7d2000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2e105a7000) + libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2e104c0000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2e10297000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2e105b4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7dc2121143a8baa649992b794106a7e3e33d025c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00007ffd76539000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3f69110000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3f68ee7000) + /lib64/ld-linux-x86-64.so.2 (0x00007f3f69223000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=25a334917a579d527a1d3c7d5f1d986453d61b03, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffc32385000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f38ba16c000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f38b9f43000) + /lib64/ld-linux-x86-64.so.2 (0x00007f38ba29f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3791c1a2ba627af0f6c6dd2e87ae4a7ea7418f23, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffe3c1b0000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0b46278000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0b4604f000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0b4645c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=86b327b66ff5317f621853e5dc663a194ab1c964, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffcc61e6000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa3c80ce000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa3c7ea5000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa3c81e5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=94b11b905c3c381dda1f368cf17dea43ae3a4654, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00007fffbaf6e000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7a20f4a000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7a2127a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9fe6ce808fc54654b1ba0be4f8161de2f6cd2abf, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00007fff72f7c000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fce2630f000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fce260e6000) + /lib64/ld-linux-x86-64.so.2 (0x00007fce2641f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=adfc3905c2628c9867e65a37ef119cfdbe73cf89, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00007fffafb5c000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd798485000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd79825c000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd798595000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3c95f10b97c64370dca4b055b3c48aed500f13b6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00007fff56144000) + libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6ebf5bd000) + libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6ebf394000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6ebf6f0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 3577k 100 3577k 0 0 4866k 0 --:--:-- --:--:-- --:--:-- 4866k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r100' 3577k 100 3577k 0 0 4866k 0 --:--:-- --:--:-- --:--:-- 4866k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=i.20231207+g03813c9fe8 ++ bpb=i.20231207+g03813c9fe8/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r100' 3577k 100 3577k 0 0 4866k 0 --:--:-- --:--:-- --:--:-- 4866k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z i.20231207+g03813c9fe8 ']' ++ '[' '!' -d i.20231207+g03813c9fe8 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 9 14.5M 9 1461k 0 0 2950k 0 0:00:05 --:--:-- 0:00:05 2946k 80 14.5M 80 11.7M 0 0 8069k 0 0:00:01 0:00:01 --:--:-- 8067k 100 14.5M 100 14.5M 0 0 8542k 0 0:00:01 0:00:01 --:--:-- 8540k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 9 14.5M 9 1461k 0 0 2950k 0 0:00:05 --:--:-- 0:00:05 $'2946k\r' 80 14.5M 80 11.7M 0 0 8069k 0 0:00:01 0:00:01 --:--:-- $'8067k\r100' 14.5M 100 14.5M 0 0 8542k 0 0:00:01 0:00:01 --:--:-- 8540k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=uyi.20240128 ++ bpb=uyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 9 14.5M 9 1461k 0 0 2950k 0 0:00:05 --:--:-- 0:00:05 $'2946k\r' 80 14.5M 80 11.7M 0 0 8069k 0 0:00:01 0:00:01 --:--:-- $'8067k\r100' 14.5M 100 14.5M 0 0 8542k 0 0:00:01 0:00:01 --:--:-- 8540k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z uyi.20240128 ']' ++ '[' '!' -d uyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 +240128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 +28.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 82.3M 2 2435k 0 0 4086k 0 0:00:20 --:--:-- 0:00:20 4086k 13 82.3M 13 11.0M 0 0 7059k 0 0:00:11 0:00:01 0:00:10 7059k 25 82.3M 25 20.6M 0 0 8136k 0 0:00:10 0:00:02 0:00:08 8136k 37 82.3M 37 30.8M 0 0 8779k 0 0:00:09 0:00:03 0:00:06 8779k 50 82.3M 50 41.4M 0 0 9225k 0 0:00:09 0:00:04 0:00:05 9226k 63 82.3M 63 52.3M 0 0 9587k 0 0:00:08 0:00:05 0:00:03 10.0M 77 82.3M 77 63.5M 0 0 9860k 0 0:00:08 0:00:06 0:00:02 10.5M 90 82.3M 90 74.6M 0 0 9.8M 0 0:00:08 0:00:07 0:00:01 10.8M 100 82.3M 100 82.3M 0 0 9.8M 0 0:00:08 0:00:08 --:--:-- 10.8M +info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst +for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 +-ruyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 82.3M 2 2435k 0 0 4086k 0 0:00:20 --:--:-- 0:00:20 $'4086k\r' 13 82.3M 13 11.0M 0 0 7059k 0 0:00:11 0:00:01 0:00:10 $'7059k\r' 25 82.3M 25 20.6M 0 0 8136k 0 0:00:10 0:00:02 0:00:08 $'8136k\r' 37 82.3M 37 30.8M 0 0 8779k 0 0:00:09 0:00:03 0:00:06 $'8779k\r' 50 82.3M 50 41.4M 0 0 9225k 0 0:00:09 0:00:04 0:00:05 $'9226k\r' 63 82.3M 63 52.3M 0 0 9587k 0 0:00:08 0:00:05 0:00:03 $'10.0M\r' 77 82.3M 77 63.5M 0 0 9860k 0 0:00:08 0:00:06 0:00:02 $'10.5M\r' 90 82.3M 90 74.6M 0 0 9.8M 0 0:00:08 0:00:07 0:00:01 $'10.8M\r100' 82.3M 100 82.3M 0 0 9.8M 0 0:00:08 0:00:08 --:--:-- 10.8M info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=-ruyi.20240128 ++ bpb=-ruyi.20240128/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 82.3M 2 2435k 0 0 4086k 0 0:00:20 --:--:-- 0:00:20 $'4086k\r' 13 82.3M 13 11.0M 0 0 7059k 0 0:00:11 0:00:01 0:00:10 $'7059k\r' 25 82.3M 25 20.6M 0 0 8136k 0 0:00:10 0:00:02 0:00:08 $'8136k\r' 37 82.3M 37 30.8M 0 0 8779k 0 0:00:09 0:00:03 0:00:06 $'8779k\r' 50 82.3M 50 41.4M 0 0 9225k 0 0:00:09 0:00:04 0:00:05 $'9226k\r' 63 82.3M 63 52.3M 0 0 9587k 0 0:00:08 0:00:05 0:00:03 $'10.0M\r' 77 82.3M 77 63.5M 0 0 9860k 0 0:00:08 0:00:06 0:00:02 $'10.5M\r' 90 82.3M 90 74.6M 0 0 9.8M 0 0:00:08 0:00:07 0:00:01 $'10.8M\r100' 82.3M 100 82.3M 0 0 9.8M 0 0:00:08 0:00:08 --:--:-- 10.8M info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z -ruyi.20240128 ']' ++ '[' '!' -d -ruyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:33:31 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:33:31 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:33:31 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpeapmvgkc ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeapmvgkc +Wed Apr 10 06:33:31 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeapmvgkc ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpeapmvgkc +Wed Apr 10 06:34:39 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:34:40 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-06_06_02.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-06_06_02.log new file mode 100644 index 00000000..2a0034b0 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-06_06_02.log @@ -0,0 +1,595 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:06:02 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:06:02 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpsx5uquym ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpsx5uquym ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpsx5uquym ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpsx5uquym +Wed Apr 10 06:07:07 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpsx5uquym ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 8 23.7M 8 1947k 0 0 2573k 0 0:00:09 --:--:-- 0:00:09 2572k 25 23.7M 25 6315k 0 0 3565k 0 0:00:06 0:00:01 0:00:05 3564k 38 23.7M 38 9387k 0 0 3404k 0 0:00:07 0:00:02 0:00:05 3403k 48 23.7M 48 11.4M 0 0 3131k 0 0:00:07 0:00:03 0:00:04 3131k 55 23.7M 55 13.2M 0 0 2857k 0 0:00:08 0:00:04 0:00:04 2856k 64 23.7M 64 15.3M 0 0 2728k 0 0:00:08 0:00:05 0:00:03 2752k 76 23.7M 76 18.1M 0 0 2755k 0 0:00:08 0:00:06 0:00:02 2467k 88 23.7M 88 21.1M 0 0 2785k 0 0:00:08 0:00:07 0:00:01 2444k 96 23.7M 96 22.8M 0 0 2676k 0 0:00:09 0:00:08 0:00:01 2333k 100 23.7M 100 23.7M 0 0 2663k 0 0:00:09 0:00:09 --:--:-- 2453k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpsx5uquym ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpsx5uquym +Wed Apr 10 06:07:17 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmpsx5uquym ']' ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpsx5uquym ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpsx5uquym ++ tmpfile2=/tmp/tmpsx5uquym ++ '[' -z /tmp/tmpsx5uquym ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmpsx5uquym ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmpsx5uquym +Wed Apr 10 06:08:36 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpsx5uquym ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:08:36 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:08:36 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting +objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting +objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting +objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:02 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 355k 0 0 931k 0 0:05:38 --:--:-- 0:05:38 931k 2 308M 2 9155k 0 0 6658k 0 0:00:47 0:00:01 0:00:46 6658k 6 308M 6 19.7M 0 0 8503k 0 0:00:37 0:00:02 0:00:35 8503k 10 308M 10 30.8M 0 0 9359k 0 0:00:33 0:00:03 0:00:30 9359k 13 308M 13 40.5M 0 0 9483k 0 0:00:33 0:00:04 0:00:29 9483k 16 308M 16 50.7M 0 0 9663k 0 0:00:32 0:00:05 0:00:27 10.0M 19 308M 19 61.3M 0 0 9856k 0 0:00:32 0:00:06 0:00:26 10.4M 23 308M 23 72.3M 0 0 9.8M 0 0:00:31 0:00:07 0:00:24 10.5M 27 308M 27 83.4M 0 0 9.9M 0 0:00:30 0:00:08 0:00:22 10.5M 30 308M 30 94.5M 0 0 10.0M 0 0:00:30 0:00:09 0:00:21 10.8M 33 308M 33 104M 0 0 10.0M 0 0:00:30 0:00:10 0:00:20 10.7M 37 308M 37 115M 0 0 10.1M 0 0:00:30 0:00:11 0:00:19 10.8M 41 308M 41 126M 0 0 10.2M 0 0:00:30 0:00:12 0:00:18 10.8M 44 308M 44 137M 0 0 10.3M 0 0:00:29 0:00:13 0:00:16 10.8M 48 308M 48 148M 0 0 10.3M 0 0:00:29 0:00:14 0:00:15 10.7M 51 308M 51 158M 0 0 10.2M 0 0:00:29 0:00:15 0:00:14 10.6M 54 308M 54 168M 0 0 10.2M 0 0:00:29 0:00:16 0:00:13 10.6M 57 308M 57 178M 0 0 10.2M 0 0:00:30 0:00:17 0:00:13 10.3M 59 308M 59 184M 0 0 10.0M 0 0:00:30 0:00:18 0:00:12 9568k 62 308M 62 191M 0 0 9.8M 0 0:00:31 0:00:19 0:00:12 8844k 64 308M 64 198M 0 0 9982k 0 0:00:31 0:00:20 0:00:11 8300k 66 308M 66 205M 0 0 9827k 0 0:00:32 0:00:21 0:00:11 7497k 68 308M 68 210M 0 0 9655k 0 0:00:32 0:00:22 0:00:10 6720k 70 308M 70 215M 0 0 9460k 0 0:00:33 0:00:23 0:00:10 6440k 71 308M 71 220M 0 0 9245k 0 0:00:34 0:00:24 0:00:10 5843k 72 308M 72 223M 0 0 9024k 0 0:00:34 0:00:25 0:00:09 5123k 73 308M 73 227M 0 0 8847k 0 0:00:35 0:00:26 0:00:09 4661k 75 308M 75 232M 0 0 8704k 0 0:00:36 0:00:27 0:00:09 4451k 77 308M 77 237M 0 0 8577k 0 0:00:36 0:00:28 0:00:08 4448k 78 308M 78 241M 0 0 8418k 0 0:00:37 0:00:29 0:00:08 4387k 79 308M 79 244M 0 0 8247k 0 0:00:38 0:00:30 0:00:08 4303k 80 308M 80 248M 0 0 8094k 0 0:00:39 0:00:31 0:00:08 4124k 81 308M 81 252M 0 0 7970k 0 0:00:39 0:00:32 0:00:07 3954k 82 308M 82 255M 0 0 7843k 0 0:00:40 0:00:33 0:00:07 3679k 84 308M 84 259M 0 0 7734k 0 0:00:40 0:00:34 0:00:06 3716k 85 308M 85 263M 0 0 7615k 0 0:00:41 0:00:35 0:00:06 3776k 86 308M 86 267M 0 0 7522k 0 0:00:41 0:00:36 0:00:05 3927k 88 308M 88 271M 0 0 7448k 0 0:00:42 0:00:37 0:00:05 4064k 89 308M 89 277M 0 0 7398k 0 0:00:42 0:00:38 0:00:04 4423k 91 308M 91 282M 0 0 7354k 0 0:00:42 0:00:39 0:00:03 4737k 93 308M 93 287M 0 0 7299k 0 0:00:43 0:00:40 0:00:03 5065k 95 308M 95 293M 0 0 7260k 0 0:00:43 0:00:41 0:00:02 5359k 97 308M 97 299M 0 0 7232k 0 0:00:43 0:00:42 0:00:01 5619k 99 308M 99 305M 0 0 7212k 0 0:00:43 0:00:43 --:--:-- 5785k 100 308M 100 308M 0 0 7203k 0 0:00:43 0:00:43 --:--:-- 5869k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 238M 2 7002k 0 0 6333k 0 0:00:38 0:00:01 0:00:37 6331k 6 238M 6 15.6M 0 0 7603k 0 0:00:32 0:00:02 0:00:30 7602k 9 238M 9 23.0M 0 0 7592k 0 0:00:32 0:00:03 0:00:29 7591k 11 238M 11 27.7M 0 0 6920k 0 0:00:35 0:00:04 0:00:31 6919k 13 238M 13 32.8M 0 0 6586k 0 0:00:37 0:00:05 0:00:32 6787k 16 238M 16 38.6M 0 0 6484k 0 0:00:37 0:00:06 0:00:31 6518k 18 238M 18 43.9M 0 0 6329k 0 0:00:38 0:00:07 0:00:31 5792k 20 238M 20 49.2M 0 0 6222k 0 0:00:39 0:00:08 0:00:31 5372k 23 238M 23 55.4M 0 0 6239k 0 0:00:39 0:00:09 0:00:30 5680k 26 238M 26 62.2M 0 0 6305k 0 0:00:38 0:00:10 0:00:28 6019k 28 238M 28 68.3M 0 0 6302k 0 0:00:38 0:00:11 0:00:27 6080k 30 238M 30 73.0M 0 0 6181k 0 0:00:39 0:00:12 0:00:27 5970k 31 238M 31 75.7M 0 0 5915k 0 0:00:41 0:00:13 0:00:28 5418k 32 238M 32 78.6M 0 0 5710k 0 0:00:42 0:00:14 0:00:28 4748k 34 238M 34 82.3M 0 0 5579k 0 0:00:43 0:00:15 0:00:28 4109k 35 238M 35 84.8M 0 0 5392k 0 0:00:45 0:00:16 0:00:29 3373k 36 238M 36 87.9M 0 0 5264k 0 0:00:46 0:00:17 0:00:29 3045k 38 238M 38 91.8M 0 0 5190k 0 0:00:47 0:00:18 0:00:29 3291k 40 238M 40 96.4M 0 0 5167k 0 0:00:47 0:00:19 0:00:28 3635k 42 238M 42 101M 0 0 5184k 0 0:00:47 0:00:20 0:00:27 3990k 45 238M 45 107M 0 0 5218k 0 0:00:46 0:00:21 0:00:25 4655k 47 238M 47 112M 0 0 5217k 0 0:00:46 0:00:22 0:00:24 5057k 48 238M 48 116M 0 0 5151k 0 0:00:47 0:00:23 0:00:24 5006k 50 238M 50 119M 0 0 5093k 0 0:00:48 0:00:24 0:00:24 4809k 51 238M 51 123M 0 0 5032k 0 0:00:48 0:00:25 0:00:23 4422k 52 238M 52 126M 0 0 4943k 0 0:00:49 0:00:26 0:00:23 3782k 53 238M 53 128M 0 0 4849k 0 0:00:50 0:00:27 0:00:23 3223k 54 238M 54 130M 0 0 4753k 0 0:00:51 0:00:28 0:00:23 2916k 55 238M 55 132M 0 0 4662k 0 0:00:52 0:00:29 0:00:23 2588k 56 238M 56 134M 0 0 4586k 0 0:00:53 0:00:30 0:00:23 2345k 57 238M 57 137M 0 0 4530k 0 0:00:54 0:00:31 0:00:23 2377k 58 238M 58 140M 0 0 4495k 0 0:00:54 0:00:32 0:00:22 2570k 60 238M 60 143M 0 0 4450k 0 0:00:54 0:00:33 0:00:21 2749k 61 238M 61 147M 0 0 4419k 0 0:00:55 0:00:34 0:00:21 3002k 62 238M 62 150M 0 0 4385k 0 0:00:55 0:00:35 0:00:20 3174k 64 238M 64 153M 0 0 4344k 0 0:00:56 0:00:36 0:00:20 3187k 65 238M 65 156M 0 0 4304k 0 0:00:56 0:00:37 0:00:19 3088k 66 238M 66 158M 0 0 4262k 0 0:00:57 0:00:38 0:00:19 3011k 67 238M 67 161M 0 0 4227k 0 0:00:57 0:00:39 0:00:18 2918k 68 238M 68 164M 0 0 4192k 0 0:00:58 0:00:40 0:00:18 2835k 69 238M 69 166M 0 0 4147k 0 0:00:59 0:00:41 0:00:18 2723k 70 238M 70 168M 0 0 4095k 0 0:00:59 0:00:42 0:00:17 2529k 71 238M 71 169M 0 0 4030k 0 0:01:00 0:00:43 0:00:17 2267k 71 238M 71 170M 0 0 3960k 0 0:01:01 0:00:44 0:00:17 1875k 71 238M 71 171M 0 0 3901k 0 0:01:02 0:00:45 0:00:17 1570k 72 238M 72 173M 0 0 3852k 0 0:01:03 0:00:46 0:00:17 1434k 73 238M 73 174M 0 0 3792k 0 0:01:04 0:00:47 0:00:17 1246k 73 238M 73 175M 0 0 3731k 0 0:01:05 0:00:48 0:00:17 1155k 73 238M 73 176M 0 0 3682k 0 0:01:06 0:00:49 0:00:17 1227k 74 238M 74 177M 0 0 3635k 0 0:01:07 0:00:50 0:00:17 1235k 75 238M 75 179M 0 0 3599k 0 0:01:07 0:00:51 0:00:16 1263k 76 238M 76 182M 0 0 3577k 0 0:01:08 0:00:52 0:00:16 1554k 77 238M 77 184M 0 0 3556k 0 0:01:08 0:00:53 0:00:15 1871k 77 238M 77 186M 0 0 3527k 0 0:01:09 0:00:54 0:00:15 2005k 79 238M 79 188M 0 0 3509k 0 0:01:09 0:00:55 0:00:14 2250k 79 238M 79 191M 0 0 3486k 0 0:01:10 0:00:56 0:00:14 2331k 80 238M 80 193M 0 0 3460k 0 0:01:10 0:00:57 0:00:13 2242k 81 238M 81 194M 0 0 3433k 0 0:01:11 0:00:58 0:00:13 2118k 82 238M 82 196M 0 0 3406k 0 0:01:11 0:00:59 0:00:12 2093k 83 238M 83 198M 0 0 3386k 0 0:01:12 0:01:00 0:00:12 2025k 83 238M 83 200M 0 0 3361k 0 0:01:12 0:01:01 0:00:11 1955k 84 238M 84 201M 0 0 3328k 0 0:01:13 0:01:02 0:00:11 1821k 84 238M 84 202M 0 0 3292k 0 0:01:14 0:01:03 0:00:11 1657k 85 238M 85 204M 0 0 3265k 0 0:01:14 0:01:04 0:00:10 1603k 86 238M 86 206M 0 0 3246k 0 0:01:15 0:01:05 0:00:10 1574k 86 238M 86 207M 0 0 3219k 0 0:01:16 0:01:06 0:00:10 1484k 87 238M 87 208M 0 0 3184k 0 0:01:16 0:01:07 0:00:09 1388k 87 238M 87 209M 0 0 3151k 0 0:01:17 0:01:08 0:00:09 1376k 88 238M 88 210M 0 0 3126k 0 0:01:18 0:01:09 0:00:09 1334k 88 238M 88 212M 0 0 3101k 0 0:01:18 0:01:10 0:00:08 1209k 89 238M 89 213M 0 0 3070k 0 0:01:19 0:01:11 0:00:08 1101k 89 238M 89 214M 0 0 3044k 0 0:01:20 0:01:12 0:00:08 1163k 90 238M 90 215M 0 0 3021k 0 0:01:20 0:01:13 0:00:07 1243k 90 238M 90 217M 0 0 3002k 0 0:01:21 0:01:14 0:00:07 1294k 91 238M 91 218M 0 0 2979k 0 0:01:22 0:01:15 0:00:07 1260k 91 238M 91 219M 0 0 2950k 0 0:01:22 0:01:16 0:00:06 1240k 92 238M 92 220M 0 0 2926k 0 0:01:23 0:01:17 0:00:06 1230k 92 238M 92 221M 0 0 2907k 0 0:01:24 0:01:18 0:00:06 1237k 93 238M 93 222M 0 0 2886k 0 0:01:24 0:01:19 0:00:05 1169k 93 238M 93 223M 0 0 2861k 0 0:01:25 0:01:20 0:00:05 1094k 94 238M 94 224M 0 0 2837k 0 0:01:26 0:01:21 0:00:05 1125k 94 238M 94 225M 0 0 2815k 0 0:01:26 0:01:22 0:00:04 1097k 95 238M 95 227M 0 0 2799k 0 0:01:27 0:01:23 0:00:04 1123k 95 238M 95 228M 0 0 2783k 0 0:01:27 0:01:24 0:00:03 1152k 96 238M 96 230M 0 0 2767k 0 0:01:28 0:01:25 0:00:03 1260k 96 238M 96 230M 0 0 2745k 0 0:01:29 0:01:26 0:00:03 1252k 97 238M 97 231M 0 0 2725k 0 0:01:29 0:01:27 0:00:02 1257k 97 238M 97 233M 0 0 2709k 0 0:01:30 0:01:28 0:00:02 1199k 98 238M 98 234M 0 0 2698k 0 0:01:30 0:01:29 0:00:01 1273k 98 238M 98 236M 0 0 2683k 0 0:01:31 0:01:30 0:00:01 1260k 99 238M 99 237M 0 0 2664k 0 0:01:31 0:01:31 --:--:-- 1264k 99 238M 99 237M 0 0 2644k 0 0:01:32 0:01:32 --:--:-- 1231k 99 238M 99 238M 0 0 2626k 0 0:01:33 0:01:33 --:--:-- 1179k 100 238M 100 238M 0 0 2625k 0 0:01:33 0:01:33 --:--:-- 1036k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 41 391k 41 161k 0 0 423k 0 --:--:-- --:--:-- --:--:-- 422k 100 391k 100 391k 0 0 932k 0 --:--:-- --:--:-- --:--:-- 930k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=52f6a7dcb25b04beb6ee405c40eb6565116affa5, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.22.1 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[2/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[3/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[5/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[6/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[22/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[23/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[24/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[25/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[28/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[29/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[33/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[35/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[39/93] Linking C shared library libz.so.1.3.0.zlib-ng +[40/93] Creating library symlink libz.so.1 libz.so +[41/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[42/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[43/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[74/93] Building C object test/CMakeFiles/example.dir/example.c.o +[75/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[76/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[77/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[78/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[79/93] Linking C executable example +[80/93] Linking C executable minideflate +[81/93] Linking C executable switchlevels +[82/93] Linking C static library libz.a +[83/93] Linking C executable infcover +[84/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[85/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[86/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[87/93] Linking C executable minigzip +[88/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[89/93] Linking C executable makefixed +[90/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[91/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[92/93] Linking C executable maketrees +[93/93] Linking C executable makecrct ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:20:18 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:20:18 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:20:18 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpsx5uquym ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsx5uquym +Wed Apr 10 06:20:18 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsx5uquym ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsx5uquym +Wed Apr 10 06:22:36 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpsx5uquym ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsx5uquym +Wed Apr 10 06:22:37 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsx5uquym ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpsx5uquym +Wed Apr 10 06:22:38 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:22:38 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_35_57.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_35_57.log new file mode 100644 index 00000000..cac008ca --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-06_35_57.log @@ -0,0 +1,907 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:35:57 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:35:57 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpaio8molc ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpaio8molc ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpaio8molc ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpaio8molc +Wed Apr 10 06:36:57 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpaio8molc ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 8 23.7M 8 1954k 0 0 2416k 0 0:00:10 --:--:-- 0:00:10 2415k 48 23.7M 48 11.4M 0 0 6466k 0 0:00:03 0:00:01 0:00:02 6465k 94 23.7M 94 22.5M 0 0 8209k 0 0:00:02 0:00:02 --:--:-- 8208k 100 23.7M 100 23.7M 0 0 8335k 0 0:00:02 0:00:02 --:--:-- 8333k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:37:00 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:37:00 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.0 +Ruyi 0.8.0 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% +(207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% +(237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% +(266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% +(296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: +44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting +objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting +objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% +(436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% +(465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% +(495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% +(524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: +75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: +79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting +objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting +objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting +objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing +objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% +(72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: +27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% +(107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing +objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% +(128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='llvm-upstream +gnu-plct +gnu-plct-rv64ilp32-elf +gnu-plct-xthead +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ++ '[' '!' -z ' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ']' ++ pkgname=llvm-upstream ++ break ++ '[' -z llvm-upstream ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install llvm-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst' +returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst' +returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst' +returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst': +all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install llvm-upstream ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst' +returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst' +returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst' +returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst': +all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install llvm-upstream ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install llvm-upstream ++ grep 'skipping already installed package' +info: skipping already installed package llvm-upstream-17.0.5-ruyi.20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:llvm-upstream ++ grep 'skipping already installed package' +info: skipping already installed package llvm-upstream-17.0.5-ruyi.20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17 +125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 671 100 671 0 0 2750 0 --:--:-- --:--:-- --:--:-- 2761 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpaio8molc ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpaio8molc +Wed Apr 10 06:38:34 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z /tmp/tmpaio8molc ']' ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpaio8molc ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpaio8molc +Wed Apr 10 06:38:42 2024 - INFO - pkgs:(curl git tar bzip2 xz-utils zstd unzip) is already installed ++ tmpfile2= ++ '[' -z /tmp/tmpaio8molc ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpaio8molc ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpaio8molc +Wed Apr 10 06:38:42 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpaio8molc ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 4 23.7M 4 1053k 0 0 1116k 0 0:00:21 --:--:-- 0:00:21 1116k 11 23.7M 11 2765k 0 0 1424k 0 0:00:17 0:00:01 0:00:16 1423k 21 23.7M 21 5117k 0 0 1736k 0 0:00:13 0:00:02 0:00:11 1736k 32 23.7M 32 7997k 0 0 2028k 0 0:00:11 0:00:03 0:00:08 2028k 48 23.7M 48 11.5M 0 0 2401k 0 0:00:10 0:00:04 0:00:06 2401k 65 23.7M 65 15.6M 0 0 2694k 0 0:00:09 0:00:05 0:00:04 2992k 80 23.7M 80 19.0M 0 0 2816k 0 0:00:08 0:00:06 0:00:02 3356k 93 23.7M 93 22.0M 0 0 2848k 0 0:00:08 0:00:07 0:00:01 3502k 100 23.7M 100 23.7M 0 0 2826k 0 0:00:08 0:00:08 --:--:-- 3501k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:38:52 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:38:52 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:38:52 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpaio8molc ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpaio8molc +Wed Apr 10 06:38:52 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpaio8molc ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpaio8molc +Wed Apr 10 06:39:44 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:39:44 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-07_02_51.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-07_02_51.log new file mode 100644 index 00000000..e489356b --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-07_02_51.log @@ -0,0 +1,246 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:02:51 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:02:51 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp1hyz8jfj ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp1hyz8jfj ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp1hyz8jfj ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp1hyz8jfj +Wed Apr 10 07:03:20 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp1hyz8jfj ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 12 23.7M 12 2955k 0 0 3285k 0 0:00:07 --:--:-- 0:00:07 3284k 29 23.7M 29 7083k 0 0 3728k 0 0:00:06 0:00:01 0:00:05 3728k 49 23.7M 49 11.6M 0 0 4125k 0 0:00:05 0:00:02 0:00:03 4125k 70 23.7M 70 16.7M 0 0 4388k 0 0:00:05 0:00:03 0:00:02 4388k 89 23.7M 89 21.2M 0 0 4412k 0 0:00:05 0:00:04 0:00:01 4411k 100 23.7M 100 23.7M 0 0 4397k 0 0:00:05 0:00:05 --:--:-- 4613k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:03:26 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:03:26 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Temporary failure in name resolution ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:03:42 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:03:42 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:03:42 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp1hyz8jfj ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1hyz8jfj +Wed Apr 10 07:03:42 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1hyz8jfj ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp1hyz8jfj +Wed Apr 10 07:04:41 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:04:41 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_41_54.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_41_54.log new file mode 100644 index 00000000..af8386ab --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_41_54.log @@ -0,0 +1,2762 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 05:41:54 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 05:41:54 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpcdd864o6 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpcdd864o6 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpcdd864o6 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpcdd864o6 +Wed Apr 10 05:43:18 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpcdd864o6 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 15 23.7M 15 3797k 0 0 3233k 0 0:00:07 0:00:01 0:00:06 3232k 33 23.7M 33 8245k 0 0 3791k 0 0:00:06 0:00:02 0:00:04 3791k 54 23.7M 54 12.9M 0 0 4178k 0 0:00:05 0:00:03 0:00:02 4178k 80 23.7M 80 19.2M 0 0 4715k 0 0:00:05 0:00:04 0:00:01 4715k 100 23.7M 100 23.7M 0 0 4982k 0 0:00:04 0:00:04 --:--:-- 5182k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 05:43:23 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 05:43:23 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 3631 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 33742 1258k 2362k 3178k 4154k 4794k 5466k 6346k 7370k 8314k 9450k 11.1M 12.8M 13.8M 14.7M 15.8M 17.1M 18.6M 19.6M 20.4M 21.4M 22.4M 23.7M 26.2M 29.2M 32.8M 36.2M 40.1M 43.1M 46.2M 49.7M 53.4M 56.3M 58.7M 61.3M 64.1M 67.6M 69.8M 75.7M 79.3M 82.9M 86.3M 90.4M 94.2M 98.1M 102M 108M 113M 118M 122M 126M 129M 132M 135M 139M 143M 147M 152M 156M ' +++ echo Received Spent 0 33742 1258k 2362k 3178k 4154k 4794k 5466k 6346k 7370k 8314k 9450k 11.1M 12.8M 13.8M 14.7M 15.8M 17.1M 18.6M 19.6M 20.4M 21.4M 22.4M 23.7M 26.2M 29.2M 32.8M 36.2M 40.1M 43.1M 46.2M 49.7M 53.4M 56.3M 58.7M 61.3M 64.1M 67.6M 69.8M 75.7M 79.3M 82.9M 86.3M 90.4M 94.2M 98.1M 102M 108M 113M 118M 122M 126M 129M 132M 135M 139M 143M 147M 152M 156M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 33742 =~ [0-9]+ ]] ++ [[ 33742 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-base-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 3629 Done nohup echo -e "$now_exec" + 3630 Exit 120 | ruyi device provision 2>&1 + 3631 Killed | tee > /tmp/ruyi_device/output ++ kill -9 3734 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 465k 2465k 3777k 5409k 7585k 9281k 10.5M 12.0M 14.4M 16.6M 18.0M 19.4M 21.3M 22.7M 24.7M 26.7M 28.6M 30.7M 32.6M 34.0M 35.9M 38.4M 41.5M 45.0M 48.3M 51.7M 54.7M 57.8M 61.4M 65.7M 69.9M 74.1M 77.5M 81.4M 86.6M 92.3M 98.6M 104M 110M 115M 119M 124M 129M 133M 137M 140M 145M 150M 155M 161M 166M 171M 176M 181M 187M 193M 200M 206M 214M ' +++ echo Received Spent 0 465k 2465k 3777k 5409k 7585k 9281k 10.5M 12.0M 14.4M 16.6M 18.0M 19.4M 21.3M 22.7M 24.7M 26.7M 28.6M 30.7M 32.6M 34.0M 35.9M 38.4M 41.5M 45.0M 48.3M 51.7M 54.7M 57.8M 61.4M 65.7M 69.9M 74.1M 77.5M 81.4M 86.6M 92.3M 98.6M 104M 110M 115M 119M 124M 129M 133M 137M 140M 145M 150M 155M 161M 166M 171M 176M 181M 187M 193M 200M 206M 214M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 465k =~ [0-9]+ ]] ++ [[ 465k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/oerv-awol-d1-xfce-0.2303.1 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 3867 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 8543k 18.5M 29.3M 40.1M 50.9M 61.7M 72.3M 82.7M 92.9M 103M 112M 123M 133M 144M 155M 165M 175M 185M 196M 205M 209M for ' +++ echo Received Spent 0 0 8543k 18.5M 29.3M 40.1M 50.9M 61.7M 72.3M 82.7M 92.9M 103M 112M 123M 133M 144M 155M 165M 175M 185M 196M 205M 209M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 8543k =~ [0-9]+ ]] ++ [[ 8543k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ ruyi device provision ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 3865 Done nohup echo -e "$now_exec" + 3866 Exit 120 | ruyi device provision 2>&1 + 3867 Killed | tee > /tmp/ruyi_device/output ++ kill -9 3968 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 7727k 17.9M 28.2M 38.9M 49.6M 59.7M 69.9M 71.2M 80.8M 87.1M 96.7M 107M 117M 128M 138M 149M 160M 170M 181M ' +++ echo Received Spent 0 0 7727k 17.9M 28.2M 38.9M 49.6M 59.7M 69.9M 71.2M 80.8M 87.1M 96.7M 107M 117M 128M 138M 149M 160M 170M 181M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 7727k =~ [0-9]+ ]] ++ [[ 7727k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 3966 Done nohup echo -e "$now_exec" + 3967 Exit 120 | ruyi device provision 2>&1 + 3968 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ ruyi device provision ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 4083 +./common/device_lib.sh: line 49: kill: (4083) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 12393 219k 1451k 4699k 8153k 11.8M 18.1M 21.9M 26.1M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 12393 219k 1451k 4699k 8153k 11.8M 18.1M 21.9M 26.1M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 12393 =~ [0-9]+ ]] ++ [[ 12393 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ SLEEP_WAIT 1m ++ tee ++ ruyi device provision ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 4176 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 84496 626k 2994k 11.4M 15.0M 18.8M 21.7M 25.9M 29.6M 34.1M 37.2M 40.4M 43.0M 44.6M 48.4M 52.5M 56.4M 59.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 84496 626k 2994k 11.4M 15.0M 18.8M 21.7M 25.9M 29.6M 34.1M 37.2M 40.4M 43.0M 44.6M 48.4M 52.5M 56.4M 59.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 84496 =~ [0-9]+ ]] ++ [[ 84496 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 3732 Done nohup echo -e "$now_exec" + 3733 Exit 120 | ruyi device provision 2>&1 + 3734 Killed | tee > /tmp/ruyi_device/output +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 4174 Done nohup echo -e "$now_exec" + 4175 Exit 120 | ruyi device provision 2>&1 + 4176 Killed | tee > /tmp/ruyi_device/output ++ kill -9 4303 +./common/device_lib.sh: line 49: kill: (4303) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 16384 511k 5008k 8208k 15.2M 23.7M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 16384 511k 5008k 8208k 15.2M 23.7M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 16384 =~ [0-9]+ ]] ++ [[ 16384 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 4398 +./common/device_lib.sh: line 49: kill: (4398) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 26550 234k 1674k 5210k 8298k 14.0M 20.1M 25.5M 29.9M 37.3M 42.1M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 26550 234k 1674k 5210k 8298k 14.0M 20.1M 25.5M 29.9M 37.3M 42.1M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 26550 =~ [0-9]+ ]] ++ [[ 26550 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ awk '{print $2}' +++ tail -1 +++ grep Choice /tmp/ruyi_device/output ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 4529 +./common/device_lib.sh: line 49: kill: (4529) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 24786 462k 4318k 7342k 11.2M 17.2M 23.6M 30.7M 38.2M 44.3M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 24786 462k 4318k 7342k 11.2M 17.2M 23.6M 30.7M 38.2M 44.3M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 24786 =~ [0-9]+ ]] ++ [[ 24786 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-05:54:21.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 05:54:21 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 05:54:21 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 05:54:21 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpcdd864o6 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpcdd864o6 +Wed Apr 10 05:54:22 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpcdd864o6 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpcdd864o6 +Wed Apr 10 05:55:55 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 05:55:56 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_54_21.tar.gz b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-05_54_21.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e9074a5f30c1b6e159bb11bfa20a5a1905f10402 GIT binary patch literal 8193 zcmY*+byU<**EO92($XbeA~iJ9DBTSLf}}%-AmtEJ(kUa-U6KO~A>AT5gD@Z^-95k0 z=Xt;N#rkFQwvn9A*{E(jlpIZDQEO{4pL`uNzOBIt%E zfrtx+1>nznJv7-A{LNGmdMN-gvEtggTy46yuwPdNrA5S#{F%zCVu}K2_O%6GS6y^l z+WOME!(V5uTnNHe8NWWRJiVnaSYA20Tp>YJH-wA@&)U~XAg-@)(1*2>t&%IjQ=WCO zfy4TPZoBJQ$*Kp=s7OzVoO@x#Zu1wYpdlIn^wSf!=8+)f6cl^cNnmCNwTt%c z`~Ld6k{IK)rludn~XRe_;==e~71z>jjk^5so0v5%^?!#X8Rwhg47RzTPd+&R?yH?zWx-}zz`F+SWvvPzlc3fo+FaVCk)byi!Oc*Q#Jv|SFSm> z7dIj?iI^o$0gkamrmaK%n`YT3Tx5`V@3OtrS$AjXTe^ofh3yB`JclU%{ zEX24y-ndh^Kc?onYVyJPYknttJI3cCF>v2>XFPXQu3(5XQl}32}^wqOwWVq>`X@TwKobaU_2yyDr?H0RmAI6*VEztd;G?Ia=ySl;?4g&Xv^e7Yh+6StUDvW#62dw*8M}Vs-TW4 zZcOdN4Zv}pN*Dz{&x%F2tC^wb4->v3sX-a90s+RJI3n(B8Z}99W?$T+GDE_E2OpAr zVya2X*DE=Ee$L);YM_-KIuAj}t7dal!W38{OOZ2pg~%<#6D0=mp_|;KXxj`T-cH}3 zn&ihS^N2n(H)9QX$J5xS$wTR};zeXC#(?Lyo#DO~DUl9iEwATuGxj;W&UMVvO|s>CpvJM0Cuzu>M={<@j^j;w&i=Z7i4bK?Ov@Zz6m5VCiS~KRqi<%2dXyGY%A5aA%+iRwvHop?Nh^3A zvrUbfPG^ha_*7{Jzb#ELzllny)tna(=>=c}R5rsD+bNgyipTw&-}~T$EKve!{#=Cl z&xXLI9aBF_r3@GOe0}w5`=q#(vGHyBaCF{GaAAw>5P#g(H?u{_8rBf&*%b_dOZHOa zYSm)+G7^MXjoNyQ_^WA#kh_bb=U|Bp47RQ69j{S8l%3G<~RY5FGxiraluCV9k*8h){HYY8`#FM&7J3EDaA4F%Qzl)KRreI zRf4^CcCd6SQOR>gFt=A;vxyio=qDdW?XNGB;7DF(U*a+b<�fHuh>w&c}Dd z@~o6|xELwwSYqIt&`{sG}OAUh-uw%BE+L*Zw1wXGLD_Cnci-B^(4P8Lwq(jHy~A zp0h@kGONB^>Y;vZ9G#}s9-gQ*uZHJ%{41g4JBgKqLk%Tk_LE;st|s#)5yfliGW*!k z;6}B>ie}Af?FpvkFV!_znmeJqj1@BGcb};GUb#D3Tp^7`)eHzK&1-nAPI&%ZR?-LA z7IX87Cz`QU1o>4e@F>{Rs^tky5+^H*D zh@P?)aDy|iWpW-Urfg5xrFke7z8QH?YY?eInkys54rg~B;U{YC@woqo(>|C??N*u( zAJ2XigH9?^*Kamvl6*1R1$I18#}^YC7RliRh;+nXT@*Mxjx*kuF-~^y6MJ0IMo`S!Cwv! zV*!-2SN?b;8COK@xHS8E8FhtPSeHXq#xx^ ze}6M9g#I=<4nG2dE?k?f1bc9qOcrPtC+TimW+S^d@NLg+E?{>Ln@%h91H#gRR-oKN zq1sZ(p0kzn_4=IOYEJTwN!Q}TU=TE-DTg*&N{Ok$DU@N3T1S*FS1O2ZN6(7Rk-8mcXiZze^f3|R=k*9Wu~1p*fjvE| z9C)t_1G95i2`^ZYNOZ&3V1y2)!Is34tzqM8&F$Nsgfe>iGqI+FGo#FP=E zLXlG zb=O@XlToF$_>zYKik9)pcNI?mxLFp3kEsKJrg+U~teFqxb?8T~!Zs>^Gz^xqS%LmG$59)aHtOwlFl- zcrgeY6JV>O9AC3Yk1aas{zorM_Pt#BWo`1-PmrEFgWak|=ILevsY9O+Hwte_`O}aH zLJy+)Qv%7m(329kwy3Jafvrs5nSBz@*yplT-e>eJ(BVxluGVdM?VStUTHxx*R98SJ zmBSd-+r|;Z#<0te?2vYA8zl|D!Ns8@q+-Gz?rE4>VV&gIz(oi?3*Rp8_ClTyPZ&$I z^Bu!AbKA_ylw{SFLrg=myh*V4z3%9RI=y}H&^3$c%aP}3=eE8Rg`F1#i5p?b;D4}j zy$V80CISCK=!#e#+k5uFS(-K!PYOHwLg1MlPB&IPy8_@9ua+$*O~u!@cBS*#CyBilH!g#LcS6 z>HG6NqkC=^K_FSCa1<>}e}(nw=0B$>`hW6u`Oxn*1a-afv+;3xPZ*J*m|SyT`YlC@ zWjxZ(CBvj*xZcOYgMJ0RYd2d(YLlHDi2Sisb1E}k^ps~s9PtrKP6Rj;zHL8H)DN)M z!qIxrX#K+R0XSv3%L3Y9X7&pgMcEgW?R8-vj`F+l!FbOc*jE+sWB6N@phaJ^eO%Za zB1F|(au@7fGnGdABeu0H=n7C+o^Zv~!2F9-qYf-#{z+v3uw-&FKg?zYAKILfYwrqI+u?YJuFpB=bz@_p>@XqwYw z=jCCvZWY3-${Q0RCl%*^(bVE9k(yerG^4Gl;_;~CyZML`G;q7piKBui-#51}!?!=x zlCIsb=ZgZzcnhoP@eY-3ycLJeUc54gLJZI>tC zha|wU!PmVL!x>Y^=pCb`?zkC*3o#~^1GTyUZ%9va2Yx94D3c`tZY?^1+zZ(DLLW8M zdfhuS0(3)RgC|gKakS_pAa`&B_gX(nYya(y?k^e$`+3@XL&l3{mQhK9}3-g zYXtF%iF+96T|bP}nD3-L3^l{j;a_)tf89K%mIpbE6;q0YLeARec$SQ2f^<-$naO@k z;l10Z4UUAQ3z%Xtra{gw^PVfOyuhWbvSmNb&FBsb&-NnEwOvEZP4v7!DFaqv1%{E> zKaVA53nY;lp*;9ys-+?B=Iz)&CGINm>U8Q1c=j+J^|jMJv`Z6`YH+)(K&FNGdBAU& z!iB&YGOS(2$cB)^C1r4wgR0?RQ!NscF4yPBZz9u4y$mT9OVdMpQUy~ID-bTXHz9NX zVt>vu-)AbNZiN8*aQ^8Z7`6ZG8{*zBL&9D4i*VB9&|NlsSNWr{F?SG?;wGtPVctai ztb9Foo57os=B3m&+xCA3e1-|;oc&GJHp-OR_kqCb#7G+Pr4GqPxC&>%2*`JVE?_!> z{!E4uSV?7=Zw*KkdM^kQzMYHweO9Pt?7^kC;vVKb1dUXvI6>T{<_Nn zR~JKhGu?v2IqS)RqB$(b_IO+abeq70F;TbEQHCei{An>fC3?)kOU-e z0Px)lTfqA+ESZoE+T$1euu${`a4#0PQ{c-xQy9Fk{eJ}_S8@H$3b@d$18#Tc8m)ng zO!wrxIe*yFqzP=(UeZ#)dF+C*WM6M|*YhH{17aC)#(wiXE93(V*Rw-%bI?&H!*y`( zyksZL{^Gv<$$c$Sl{97c<21`fD*_%6Jbb5&rkPa<;W-PH{!(axx|=sX<-c0@ zq0*56_ob4I_RSP#R;ZwS8Y2uRQ&zYkDD}7}_Rn6emc_+>z(f3?bV)`f=->yCuBCGz zbDoP=d&m8S7J*5VuQ~fti)59xw>4bY*(UqeeK5HB@_UfvFHoHzLT7Knp(yYhY})NY z!u(R?oQq!`3Tv_$Mx!I)Ok(N5W0iv+(2mni*$tVU&>YrbdWZ9O>ik4%!Ys0k3ej@- z(L?9V&v9GFHhERsg`GK#MP-LX)dUo`t7&8=`z!}+N{TNe++)i((+4pz+aYiIvd2|)@`C|a~}IpDW7akm@NO%^(_gwF~xHpnO}&g(lH ze_dH>Idp8AbNcR&rT$Yz*69=BwnLR3wGJw&A+ZpoPV%On+RZl7IpD5`0W@HFh*cvK zyx)|(r1N5#MyDmlz(;j$r(uejM9-Ve0<@Cb@UD%&a<~S|5Eg=*%G@Q28S-xB217j^ zQ%w(5{_-cGa(!|kSw_^Ha++Hv5ojTtxgM99YndZnD=#ST%48wu%Mp(J3UKu9rTc|l za#ur@jC-l0VoYeB*m5hlpk-+*1Z=7+tSeU>pG)#n3|u;bnVz5B!0^jjxOt#kTa)@= z(gZ}zLY<)Sc;_mXe)AdTorz=!?hH}B zE+<8M{L+_kW6)5w%g2mjXmgacmoguwLM0f!iC4R%ZqDaHXyro9mjzDnEY`?rpqmt3 zV18PM%MIoXdU@eazt3lU+yU{K*xj^vg=P9J-1m1^uSsDLw3UI+%C6fOav9N+Q9Sv_ z;*qowL6!O*e!Z3p_Qz5hg& zgfIM&wk_KiaU7itqwNCi#7u(TvUh9Y$`%0y=Z;Qa&9l}NskyvNWz?QRSV>>vZ4z2( zN@-hKxc!PFoOvM*{-uYt%de%)rSp$+cO10*E~5`)CKq+sZ5g-v*})&QQUT1Dn>#ot zs-cQY!Iz7;iUVnaHRAqlYSIO#1EP$FkA!#wBJqjTTfWclVEM*2h(LbWMcP&FBcLk=7 z;>y6Vwb2!?y@|*Q*fK?})UEZ4@3(piznukMJ4`B-(b9Ex}b^9^eXP@PD+o< z3zCwL@oG;&U_rGpd=yVWZvMqFaA1w_M5sMJXu<%nQ_867-yDANjmN^JfH!02vTEG2 zYdn8ll_L0}`}@d3fKwKdGpn?Cu~9&(Nta(q8a9^aw6#B;G6#j%SqN3nN7Wz6F#jGj zF)K8#w#uE~ujH>%!Nvd3v9=}Oc3q(-+uex1FqiMd+9n1Ez6lCs@Ucvh|KOAncO(PX z?))xzkfvu!swJ2vl48o0bem`SuO&HpfJ6~cE-=C`;lLTFP@K>+GyTm=}Nz$?&k*QtS&KCpznT zwQD_WkNdrF&gvjmN6XO{p-<~|WJkYQ*az<<3Asv}X|EVzSGA~(tH+(&#};s=rToxj zuLS97lKTzS*HhaUUbximu4SB6;Z+zzM9RC}Vr0KOpY3K$@)HWkyF8lQMDApG`4*DT9M*#)qh{ z2qz7x&VHDy%g0Jgso$7^yb0&v!PMv(`*v5;TaEtW`;9{Da&h8#NNu{{V9%chl``ES zGGpw(Z$7-;i{n=mwevN-aboeWe6F=ArccOnQou=woTI%5e2J#jtZW>0ny*)P_92)+ z3b$tC4DdSp!8dkRKF+JG=>!}cLNae3C!ag11`gRYx|7U0BNopxz0I?6VAnJ#==f|KdYCN%nenW(Q5x1^o8PPcg)-GgTR>{NW-&uq8rfV15LsbF~1TA+#l zv+U@u#WZaj+K00bZ+y6(EkaoU49e|?JSf@8>@#z!tR|Vgaf=1YaCO|aTyR-9Z6wY4 z<04$cb9$lprjdiq!e;fl=?2xkNsD6bD)=Xg9_yJrvUfr@w*7Yg%w{{g*SGt#g?rX3 z)-=#sc?9BgHQrn*X3zHiN?sBU0$|&RYXcKM=R&bJ4!+19qZ)29&y+Fzq{Kxd(E!{+w7+O5~reS1n5bEMRn zWl7E4PgdKqVLYRcYY%bTs?mDS87x;BA6mH05ADEG`Bo%&&Ek9x3)g#_`}_VD_m|l| zpeJh_^NO@Ct|+g?7^SR;`5@}I3_WIvZ2JV@`bQ(A_ma@JDuc++&P~sLVJN@3eAgF^ zS>U*c{2qf#>m`Qxv9>}M@m2wcC1w`!?c~YY=Q$s{emfec3T4sjP9Cyk43XQhq}ahj3#R zImW1{gaJYqy7@nR3MDOVF4_@uOqw-+EB%d=_&@@uk+{9NO=&^-pSS$tLRBrRW%oww zPcZOT5?a?1hKpp2^q{|JF&)fAhPU2AeDJMHE$AGPKg{*IUF&R{Yhs5QdJ06CNjr{R z6XWfjq)n(U+l^iXm^^*n|5G|!)3|T0LmV{uCjT?d>9i|Z4UM#Ircv{~t<#rczIZ!K z=3JxZzjZDSn#QjyvyH^t?ug)G{o-7Wo(9HG?9w!in?&g@Er)?PyC{(#oTHx?a-VrDR0 zRZEdf8T`by*XIY>;Rg+>3gviwj1+9Wq?ASy&ESok2Qf)V+rZQssUs{$^ zK6V{6uaV-UAnE^$%};OCtNDv9R_WZ#22M^(Bi z)jsaBZBBhsEFrHlRrxryB+!s}X0Pqge7dGm8mlC~nlWWqj*%#$!OS40L^kOfzmV5f zR!FyP80;@?MU)t+bs~p-_$8JD&0I3*L*M}+cyt9G^EVb6zw7uV>$hLRuWN0JJ)4OPS0SRIDH$#QA6bTmTV-h zAA8?=mBpX5Qd62`2`tL$D?Y_c!BL@jtoh$SxWexU*hYK;h)b2wWn!a)fYboc`jZE( zdlL2uF#J!qz?gwBuR9=l%U@|KA8(DTVb?u;vs`YSAl7>)904}zDShL5sb{){0$(}d z4ztGgH5-uUuLW6`Mwh(ES$c!}tgOP_fY$+(?w|bRQBC$GxNSgwxKTPuu?HjQn?Z(m zI3=deQ!R$}$lh{7xu(AaTLJ{!=ZsGH)&s8!uj!-6dmC6wth{j^sjixjmZTY6g1JTl znYrn9##O)tZ3N3Lbg3%kNU+CH(!TDu1M$jLN~hU&o9UekM9a52P#Wb?Lv(rQqBmqhMP5I(A0GmfB=S5dA(q zmm*~yOFT$x3-y&>>s4uVyl2OtbGyc`VD(CV;w&s!r)q4h09RUMY!VzQ)kC;(o$((V z>+ijiUV>Iq88{hjWNQc;-?jFn=^tazb qHlxUkJhqyxF?yJu-R-{ty}0YIa{VH;#9TK3`zkWf9zzim<9`9vc2=AK literal 0 HcmV?d00001 diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-06_34_40.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-06_34_40.log new file mode 100644 index 00000000..a880cd60 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-06_34_40.log @@ -0,0 +1,302 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:34:41 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:34:41 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpdjsxe4y7 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpdjsxe4y7 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpdjsxe4y7 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpdjsxe4y7 +Wed Apr 10 06:35:05 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpdjsxe4y7 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 28 23.7M 28 6863k 0 0 6919k 0 0:00:03 --:--:-- 0:00:03 6918k 73 23.7M 73 17.5M 0 0 9027k 0 0:00:02 0:00:01 0:00:01 9027k 100 23.7M 100 23.7M 0 0 9552k 0 0:00:02 0:00:02 --:--:-- 9555k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:35:08 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:35:08 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting +objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting +objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting +objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting +objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% +(300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 5 47.2M 5 2609k 0 0 4130k 0 0:00:11 --:--:-- 0:00:11 4128k 22 47.2M 22 10.4M 0 0 6580k 0 0:00:07 0:00:01 0:00:06 6579k 40 47.2M 40 19.2M 0 0 7508k 0 0:00:06 0:00:02 0:00:04 7508k 60 47.2M 60 28.6M 0 0 8084k 0 0:00:05 0:00:03 0:00:02 8084k 81 47.2M 81 38.4M 0 0 8508k 0 0:00:05 0:00:04 0:00:01 8508k 100 47.2M 100 47.2M 0 0 8849k 0 0:00:05 0:00:05 --:--:-- 9467k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:35:35 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:35:35 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:35:35 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpdjsxe4y7 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjsxe4y7 +Wed Apr 10 06:35:35 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjsxe4y7 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpdjsxe4y7 +Wed Apr 10 06:35:56 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:35:57 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-05_55_56.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-05_55_56.log new file mode 100644 index 00000000..460b5958 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-05_55_56.log @@ -0,0 +1,273 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 05:55:56 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 05:55:56 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp2sbvht_0 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp2sbvht_0 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp2sbvht_0 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp2sbvht_0 +Wed Apr 10 05:58:13 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp2sbvht_0 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 8 23.7M 8 2011k 0 0 3422k 0 0:00:07 --:--:-- 0:00:07 3420k 42 23.7M 42 10.0M 0 0 6477k 0 0:00:03 0:00:01 0:00:02 6475k 80 23.7M 80 19.0M 0 0 7542k 0 0:00:03 0:00:02 0:00:01 7540k 100 23.7M 100 23.7M 0 0 7883k 0 0:00:03 0:00:03 --:--:-- 7884k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 05:58:17 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 05:58:17 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting +objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting +objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 2091k 0 0 3259k 0 0:01:15 --:--:-- 0:01:15 3257k 3 238M 3 8603k 0 0 5227k 0 0:00:46 0:00:01 0:00:45 5226k 6 238M 6 15.5M 0 0 6012k 0 0:00:40 0:00:02 0:00:38 6011k 9 238M 9 23.2M 0 0 6540k 0 0:00:37 0:00:03 0:00:34 6540k 13 238M 13 31.7M 0 0 6996k 0 0:00:34 0:00:04 0:00:30 6996k 17 238M 17 40.9M 0 0 7439k 0 0:00:32 0:00:05 0:00:27 7976k 21 238M 21 51.0M 0 0 7867k 0 0:00:31 0:00:06 0:00:25 8736k 25 238M 25 61.7M 0 0 8278k 0 0:00:29 0:00:07 0:00:22 9475k 30 238M 30 72.9M 0 0 8638k 0 0:00:28 0:00:08 0:00:20 9.9M 35 238M 35 84.0M 0 0 8927k 0 0:00:27 0:00:09 0:00:18 10.4M 39 238M 39 94.4M 0 0 9085k 0 0:00:26 0:00:10 0:00:16 10.6M 43 238M 43 105M 0 0 9243k 0 0:00:26 0:00:11 0:00:15 10.8M 48 238M 48 116M 0 0 9413k 0 0:00:25 0:00:12 0:00:13 10.8M 53 238M 53 127M 0 0 9559k 0 0:00:25 0:00:13 0:00:12 10.8M 53 238M 53 127M 0 0 4056k 0 0:01:00 0:00:32 0:00:28 1969k 57 238M 57 138M 0 0 4330k 0 0:00:56 0:00:32 0:00:24 2030k 59 238M 59 141M 0 0 4304k 0 0:00:56 0:00:33 0:00:23 1690k 60 238M 60 145M 0 0 4306k 0 0:00:56 0:00:34 0:00:22 1372k 63 238M 63 150M 0 0 4332k 0 0:00:56 0:00:35 0:00:21 1091k 65 238M 65 156M 0 0 4380k 0 0:00:55 0:00:36 0:00:19 6701k 68 238M 68 163M 0 0 4448k 0 0:00:55 0:00:37 0:00:18 5224k 70 238M 70 168M 0 0 4475k 0 0:00:54 0:00:38 0:00:16 5625k 73 238M 73 175M 0 0 4527k 0 0:00:54 0:00:39 0:00:15 6057k 76 238M 76 182M 0 0 4593k 0 0:00:53 0:00:40 0:00:13 6448k 79 238M 79 190M 0 0 4673k 0 0:00:52 0:00:41 0:00:11 6819k 83 238M 83 198M 0 0 4770k 0 0:00:51 0:00:42 0:00:09 7187k 87 238M 87 208M 0 0 4881k 0 0:00:50 0:00:43 0:00:07 8025k 87 238M 87 208M 0 0 2945k 0 0:01:23 0:01:12 0:00:11 1026k 91 238M 91 219M 0 0 3097k 0 0:01:19 0:01:12 0:00:07 1197k 93 238M 93 224M 0 0 3121k 0 0:01:18 0:01:13 0:00:05 1101k 96 238M 96 230M 0 0 3157k 0 0:01:17 0:01:14 0:00:03 1009k 99 238M 99 236M 0 0 3204k 0 0:01:16 0:01:15 0:00:01 916k 100 238M 100 238M 0 0 3221k 0 0:01:15 0:01:15 --:--:-- 8706k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:03:05 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:03:05 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:03:05 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp2sbvht_0 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp2sbvht_0 +Wed Apr 10 06:03:05 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp2sbvht_0 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp2sbvht_0 +Wed Apr 10 06:04:40 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:04:41 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-06_39_45.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-06_39_45.log new file mode 100644 index 00000000..f2763237 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-06_39_45.log @@ -0,0 +1,327 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:39:45 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:39:45 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpy8bssxs4 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpy8bssxs4 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpy8bssxs4 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpy8bssxs4 +Wed Apr 10 06:41:33 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpy8bssxs4 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 10 23.7M 10 2655k 0 0 3649k 0 0:00:06 --:--:-- 0:00:06 3647k 38 23.7M 38 9343k 0 0 5411k 0 0:00:04 0:00:01 0:00:03 5410k 68 23.7M 68 16.1M 0 0 6073k 0 0:00:04 0:00:02 0:00:02 6072k 94 23.7M 94 22.3M 0 0 6147k 0 0:00:03 0:00:03 --:--:-- 6147k 100 23.7M 100 23.7M 0 0 6156k 0 0:00:03 0:00:03 --:--:-- 6155k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:41:37 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:41:37 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' x86_64 == riscv64 ']' ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ++ '[' -z ' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ']' ++ '[' '!' -z qemu-user-riscv-upstream ']' +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ++ '[' -z ' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ']' ++ ruyi install llvm-upstream gnu-plct qemu-user-riscv-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 857k 0 0 1381k 0 0:04:55 --:--:-- 0:04:55 1380k 0 398M 0 3625k 0 0 2238k 0 0:03:02 0:00:01 0:03:01 2239k 1 398M 1 5817k 0 0 2220k 0 0:03:03 0:00:02 0:03:01 2220k 1 398M 1 7577k 0 0 2093k 0 0:03:15 0:00:03 0:03:12 2093k 2 398M 2 9353k 0 0 2023k 0 0:03:21 0:00:04 0:03:17 2023k 2 398M 2 10.7M 0 0 1965k 0 0:03:27 0:00:05 0:03:22 2037k 3 398M 3 12.7M 0 0 1978k 0 0:03:26 0:00:06 0:03:20 1893k 3 398M 3 14.9M 0 0 2015k 0 0:03:22 0:00:07 0:03:15 1907k 4 398M 4 17.4M 0 0 2072k 0 0:03:17 0:00:08 0:03:09 2057k 4 398M 4 19.8M 0 0 2110k 0 0:03:13 0:00:09 0:03:04 2189k 5 398M 5 22.7M 0 0 2195k 0 0:03:05 0:00:10 0:02:55 2454k 6 398M 6 26.0M 0 0 2297k 0 0:02:57 0:00:11 0:02:46 2721k 7 398M 7 28.3M 0 0 2298k 0 0:02:57 0:00:12 0:02:45 2729k 7 398M 7 29.3M 0 0 2209k 0 0:03:04 0:00:13 0:02:51 2445k 7 398M 7 30.6M 0 0 2148k 0 0:03:10 0:00:14 0:02:56 2223k 7 398M 7 31.7M 0 0 2078k 0 0:03:16 0:00:15 0:03:01 1830k 8 398M 8 33.2M 0 0 2049k 0 0:03:19 0:00:16 0:03:03 1472k 8 398M 8 35.4M 0 0 2062k 0 0:03:17 0:00:17 0:03:00 1468k 9 398M 9 38.2M 0 0 2103k 0 0:03:14 0:00:18 0:02:56 1814k 10 398M 10 40.6M 0 0 2119k 0 0:03:12 0:00:19 0:02:53 2032k 10 398M 10 42.5M 0 0 2114k 0 0:03:13 0:00:20 0:02:53 2227k 11 398M 11 44.9M 0 0 2127k 0 0:03:11 0:00:21 0:02:50 2387k 11 398M 11 46.7M 0 0 2116k 0 0:03:12 0:00:22 0:02:50 2304k 12 398M 12 48.3M 0 0 2094k 0 0:03:14 0:00:23 0:02:51 2063k 12 398M 12 50.4M 0 0 2098k 0 0:03:14 0:00:24 0:02:50 2016k 13 398M 13 52.9M 0 0 2115k 0 0:03:13 0:00:25 0:02:48 2118k 13 398M 13 55.3M 0 0 2129k 0 0:03:11 0:00:26 0:02:45 2140k 14 398M 14 57.6M 0 0 2137k 0 0:03:11 0:00:27 0:02:44 2233k 15 398M 15 59.9M 0 0 2145k 0 0:03:10 0:00:28 0:02:42 2384k 15 398M 15 62.6M 0 0 2167k 0 0:03:08 0:00:29 0:02:39 2508k 16 398M 16 64.8M 0 0 2169k 0 0:03:08 0:00:30 0:02:38 2443k 16 398M 16 66.2M 0 0 2144k 0 0:03:10 0:00:31 0:02:39 2224k 16 398M 16 67.7M 0 0 2125k 0 0:03:12 0:00:32 0:02:40 2059k 17 398M 17 69.3M 0 0 2111k 0 0:03:13 0:00:33 0:02:40 1920k 17 398M 17 71.2M 0 0 2108k 0 0:03:13 0:00:34 0:02:39 1756k 18 398M 18 73.3M 0 0 2109k 0 0:03:13 0:00:35 0:02:38 1744k 19 398M 19 76.2M 0 0 2133k 0 0:03:11 0:00:36 0:02:35 2061k 19 398M 19 79.3M 0 0 2161k 0 0:03:08 0:00:37 0:02:31 2394k 20 398M 20 82.3M 0 0 2182k 0 0:03:07 0:00:38 0:02:29 2659k 21 398M 21 84.6M 0 0 2187k 0 0:03:06 0:00:39 0:02:27 2737k 21 398M 21 86.6M 0 0 2184k 0 0:03:06 0:00:40 0:02:26 2714k 22 398M 22 88.4M 0 0 2175k 0 0:03:07 0:00:41 0:02:26 2486k 22 398M 22 90.8M 0 0 2183k 0 0:03:07 0:00:42 0:02:25 2347k 23 398M 23 93.1M 0 0 2186k 0 0:03:06 0:00:43 0:02:23 2217k 23 398M 23 95.3M 0 0 2188k 0 0:03:06 0:00:44 0:02:22 2195k 24 398M 24 97.7M 0 0 2193k 0 0:03:06 0:00:45 0:02:21 2266k 24 398M 24 99.4M 0 0 2184k 0 0:03:06 0:00:46 0:02:20 2258k 25 398M 25 100M 0 0 2169k 0 0:03:08 0:00:47 0:02:21 2052k 25 398M 25 102M 0 0 2167k 0 0:03:08 0:00:48 0:02:20 1996k 26 398M 26 105M 0 0 2167k 0 0:03:08 0:00:49 0:02:19 1986k 26 398M 26 106M 0 0 2160k 0 0:03:09 0:00:50 0:02:19 1858k 27 398M 27 108M 0 0 2157k 0 0:03:09 0:00:51 0:02:18 1901k 27 398M 27 111M 0 0 2163k 0 0:03:08 0:00:52 0:02:16 2108k 28 398M 28 113M 0 0 2164k 0 0:03:08 0:00:53 0:02:15 2134k 29 398M 29 115M 0 0 2169k 0 0:03:08 0:00:54 0:02:14 2185k 29 398M 29 118M 0 0 2176k 0 0:03:07 0:00:55 0:02:12 2335k 30 398M 30 120M 0 0 2187k 0 0:03:06 0:00:56 0:02:10 2505k 31 398M 31 123M 0 0 2198k 0 0:03:05 0:00:57 0:02:08 2563k 31 398M 31 126M 0 0 2206k 0 0:03:05 0:00:58 0:02:07 2662k 32 398M 32 129M 0 0 2226k 0 0:03:03 0:00:59 0:02:04 2842k 33 398M 33 132M 0 0 2238k 0 0:03:02 0:01:00 0:02:02 2929k 33 398M 33 134M 0 0 2239k 0 0:03:02 0:01:01 0:02:01 2825k 34 398M 34 136M 0 0 2239k 0 0:03:02 0:01:02 0:02:00 2716k 34 398M 34 139M 0 0 2240k 0 0:03:02 0:01:03 0:01:59 2639k 35 398M 35 142M 0 0 2251k 0 0:03:01 0:01:04 0:01:57 2557k 36 398M 36 144M 0 0 2258k 0 0:03:00 0:01:05 0:01:55 2502k 36 398M 36 147M 0 0 2266k 0 0:03:00 0:01:06 0:01:54 2601k 37 398M 37 149M 0 0 2266k 0 0:03:00 0:01:07 0:01:53 2601k 38 398M 38 152M 0 0 2274k 0 0:02:59 0:01:08 0:01:51 2701k 39 398M 39 155M 0 0 2291k 0 0:02:58 0:01:09 0:01:49 2807k 39 398M 39 158M 0 0 2298k 0 0:02:57 0:01:10 0:01:47 2832k 40 398M 40 161M 0 0 2303k 0 0:02:57 0:01:11 0:01:46 2787k 40 398M 40 163M 0 0 2302k 0 0:02:57 0:01:12 0:01:45 2785k 41 398M 41 165M 0 0 2297k 0 0:02:57 0:01:13 0:01:44 2618k 41 398M 41 166M 0 0 2290k 0 0:02:58 0:01:14 0:01:44 2275k 42 398M 42 168M 0 0 2287k 0 0:02:58 0:01:15 0:01:43 2124k 43 398M 43 171M 0 0 2292k 0 0:02:58 0:01:16 0:01:42 2133k 43 398M 43 174M 0 0 2295k 0 0:02:57 0:01:17 0:01:40 2205k 44 398M 44 176M 0 0 2295k 0 0:02:57 0:01:18 0:01:39 2265k 44 398M 44 177M 0 0 2288k 0 0:02:58 0:01:19 0:01:39 2249k 45 398M 45 179M 0 0 2285k 0 0:02:58 0:01:20 0:01:38 2261k 45 398M 45 182M 0 0 2284k 0 0:02:58 0:01:21 0:01:37 2166k 46 398M 46 184M 0 0 2287k 0 0:02:58 0:01:22 0:01:36 2156k 46 398M 46 186M 0 0 2279k 0 0:02:59 0:01:23 0:01:36 2026k 47 398M 47 187M 0 0 2269k 0 0:02:59 0:01:24 0:01:35 1970k 47 398M 47 189M 0 0 2265k 0 0:03:00 0:01:25 0:01:35 1939k 47 398M 47 190M 0 0 2256k 0 0:03:00 0:01:26 0:01:34 1794k 48 398M 48 192M 0 0 2253k 0 0:03:01 0:01:27 0:01:34 1689k 48 398M 48 194M 0 0 2251k 0 0:03:01 0:01:28 0:01:33 1770k 49 398M 49 197M 0 0 2254k 0 0:03:01 0:01:29 0:01:32 2013k 50 398M 50 200M 0 0 2266k 0 0:03:00 0:01:30 0:01:30 2288k 51 398M 51 203M 0 0 2273k 0 0:02:59 0:01:31 0:01:28 2575k 51 398M 51 205M 0 0 2275k 0 0:02:59 0:01:32 0:01:27 2668k 52 398M 52 207M 0 0 2274k 0 0:02:59 0:01:33 0:01:26 2695k 52 398M 52 210M 0 0 2274k 0 0:02:59 0:01:34 0:01:25 2630k 53 398M 53 211M 0 0 2269k 0 0:02:59 0:01:35 0:01:24 2323k 53 398M 53 214M 0 0 2268k 0 0:02:59 0:01:36 0:01:23 2178k 54 398M 54 215M 0 0 2261k 0 0:03:00 0:01:37 0:01:23 1990k 54 398M 54 216M 0 0 2252k 0 0:03:01 0:01:38 0:01:23 1837k 54 398M 54 218M 0 0 2245k 0 0:03:01 0:01:39 0:01:22 1698k 55 398M 55 220M 0 0 2240k 0 0:03:02 0:01:40 0:01:22 1673k 55 398M 55 221M 0 0 2233k 0 0:03:02 0:01:41 0:01:21 1550k 56 398M 56 223M 0 0 2232k 0 0:03:02 0:01:42 0:01:20 1679k 56 398M 56 225M 0 0 2233k 0 0:03:02 0:01:43 0:01:19 1852k 57 398M 57 227M 0 0 2231k 0 0:03:03 0:01:44 0:01:19 1937k 57 398M 57 230M 0 0 2233k 0 0:03:02 0:01:45 0:01:17 2096k 58 398M 58 233M 0 0 2238k 0 0:03:02 0:01:46 0:01:16 2342k 59 398M 59 235M 0 0 2238k 0 0:03:02 0:01:47 0:01:15 2355k 59 398M 59 237M 0 0 2235k 0 0:03:02 0:01:48 0:01:14 2272k 59 398M 59 238M 0 0 2226k 0 0:03:03 0:01:49 0:01:14 2122k 60 398M 60 239M 0 0 2219k 0 0:03:03 0:01:50 0:01:13 1922k 60 398M 60 241M 0 0 2214k 0 0:03:04 0:01:51 0:01:13 1711k 61 398M 61 243M 0 0 2212k 0 0:03:04 0:01:52 0:01:12 1651k 61 398M 61 245M 0 0 2213k 0 0:03:04 0:01:53 0:01:11 1734k 62 398M 62 247M 0 0 2214k 0 0:03:04 0:01:54 0:01:10 1947k 62 398M 62 250M 0 0 2218k 0 0:03:04 0:01:55 0:01:09 2204k 63 398M 63 252M 0 0 2218k 0 0:03:04 0:01:56 0:01:08 2310k 63 398M 63 254M 0 0 2216k 0 0:03:04 0:01:57 0:01:07 2304k 64 398M 64 256M 0 0 2216k 0 0:03:04 0:01:58 0:01:06 2304k 64 398M 64 258M 0 0 2214k 0 0:03:04 0:01:59 0:01:05 2227k 65 398M 65 260M 0 0 2211k 0 0:03:04 0:02:00 0:01:04 2051k 65 398M 65 262M 0 0 2213k 0 0:03:04 0:02:01 0:01:03 2096k 66 398M 66 265M 0 0 2216k 0 0:03:04 0:02:02 0:01:02 2209k 67 398M 67 268M 0 0 2221k 0 0:03:03 0:02:03 0:01:00 2328k 67 398M 67 271M 0 0 2227k 0 0:03:03 0:02:04 0:00:59 2543k 68 398M 68 273M 0 0 2229k 0 0:03:03 0:02:05 0:00:58 2650k 69 398M 69 276M 0 0 2234k 0 0:03:02 0:02:06 0:00:56 2737k 69 398M 69 278M 0 0 2237k 0 0:03:02 0:02:07 0:00:55 2769k 70 398M 70 281M 0 0 2237k 0 0:03:02 0:02:08 0:00:54 2627k 71 398M 71 283M 0 0 2238k 0 0:03:02 0:02:09 0:00:53 2504k 71 398M 71 285M 0 0 2238k 0 0:03:02 0:02:10 0:00:52 2483k 72 398M 72 288M 0 0 2243k 0 0:03:02 0:02:11 0:00:51 2461k 72 398M 72 290M 0 0 2239k 0 0:03:02 0:02:12 0:00:50 2278k 73 398M 73 292M 0 0 2239k 0 0:03:02 0:02:13 0:00:49 2287k 73 398M 73 294M 0 0 2242k 0 0:03:02 0:02:14 0:00:48 2358k 74 398M 74 297M 0 0 2245k 0 0:03:01 0:02:15 0:00:46 2406k 75 398M 75 299M 0 0 2243k 0 0:03:01 0:02:16 0:00:45 2256k 75 398M 75 301M 0 0 2244k 0 0:03:01 0:02:17 0:00:44 2382k 76 398M 76 303M 0 0 2245k 0 0:03:01 0:02:18 0:00:43 2411k 76 398M 76 306M 0 0 2246k 0 0:03:01 0:02:19 0:00:42 2354k 77 398M 77 308M 0 0 2246k 0 0:03:01 0:02:20 0:00:41 2278k 77 398M 77 310M 0 0 2247k 0 0:03:01 0:02:21 0:00:40 2342k 78 398M 78 312M 0 0 2244k 0 0:03:01 0:02:22 0:00:39 2245k 78 398M 78 312M 0 0 2231k 0 0:03:03 0:02:23 0:00:40 1838k 78 398M 78 313M 0 0 2218k 0 0:03:04 0:02:24 0:00:40 1425k 78 398M 78 313M 0 0 2206k 0 0:03:05 0:02:25 0:00:40 1095k 78 398M 78 314M 0 0 2196k 0 0:03:05 0:02:26 0:00:39 760k 78 398M 78 314M 0 0 2183k 0 0:03:06 0:02:27 0:00:39 451k 79 398M 79 315M 0 0 2159k 0 0:03:09 0:02:29 0:00:40 393k 79 398M 79 315M 0 0 2157k 0 0:03:09 0:02:29 0:00:40 386k 79 398M 79 315M 0 0 2143k 0 0:03:10 0:02:30 0:00:40 296k 79 398M 79 315M 0 0 2129k 0 0:03:11 0:02:31 0:00:40 172k 79 398M 79 315M 0 0 2115k 0 0:03:13 0:02:32 0:00:41 117k 79 398M 79 315M 0 0 2102k 0 0:03:14 0:02:33 0:00:41 66438 79 398M 79 315M 0 0 2089k 0 0:03:15 0:02:34 0:00:41 78690 79 398M 79 315M 0 0 2075k 0 0:03:16 0:02:35 0:00:41 77618 79 398M 79 315M 0 0 2063k 0 0:03:17 0:02:36 0:00:41 75107 79 398M 79 315M 0 0 2052k 0 0:03:18 0:02:37 0:00:41 96138 79 398M 79 315M 0 0 2039k 0 0:03:20 0:02:38 0:00:42 95221 79 398M 79 315M 0 0 2026k 0 0:03:21 0:02:39 0:00:42 78376 79 398M 79 316M 0 0 2013k 0 0:03:22 0:02:40 0:00:42 78911 79 398M 79 316M 0 0 2002k 0 0:03:23 0:02:41 0:00:42 78611 79 398M 79 316M 0 0 1989k 0 0:03:25 0:02:42 0:00:43 60982 79 398M 79 316M 0 0 1978k 0 0:03:26 0:02:43 0:00:43 55391 79 398M 79 316M 0 0 1967k 0 0:03:27 0:02:44 0:00:43 55959 79 398M 79 316M 0 0 1955k 0 0:03:28 0:02:45 0:00:43 66264 79 398M 79 316M 0 0 1944k 0 0:03:29 0:02:46 0:00:43 72234 79 398M 79 316M 0 0 1933k 0 0:03:31 0:02:47 0:00:44 79970 79 398M 79 316M 0 0 1922k 0 0:03:32 0:02:48 0:00:44 86109 79 398M 79 316M 0 0 1910k 0 0:03:33 0:02:49 0:00:44 84086 79 398M 79 316M 0 0 1900k 0 0:03:34 0:02:50 0:00:44 75627 79 398M 79 316M 0 0 1889k 0 0:03:36 0:02:51 0:00:45 69023 79 398M 79 316M 0 0 1879k 0 0:03:37 0:02:52 0:00:45 65313 79 398M 79 316M 0 0 1868k 0 0:03:38 0:02:53 0:00:45 62088 79 398M 79 316M 0 0 1843k 0 0:03:41 0:02:56 0:00:45 43762 79 398M 79 317M 0 0 1838k 0 0:03:42 0:02:56 0:00:46 92549 79 398M 79 317M 0 0 1829k 0 0:03:43 0:02:57 0:00:46 98091 79 398M 79 317M 0 0 1819k 0 0:03:44 0:02:58 0:00:46 98k 79 398M 79 317M 0 0 1810k 0 0:03:45 0:02:59 0:00:46 130k 79 398M 79 317M 0 0 1801k 0 0:03:46 0:03:00 0:00:46 206k 79 398M 79 318M 0 0 1793k 0 0:03:47 0:03:01 0:00:46 186k 79 398M 79 318M 0 0 1785k 0 0:03:48 0:03:02 0:00:46 208k 79 398M 79 318M 0 0 1776k 0 0:03:49 0:03:03 0:00:46 247k 80 398M 80 319M 0 0 1772k 0 0:03:50 0:03:04 0:00:46 408k 80 398M 80 321M 0 0 1773k 0 0:03:50 0:03:05 0:00:45 755k 81 398M 81 324M 0 0 1777k 0 0:03:49 0:03:06 0:00:43 1203k 81 398M 81 326M 0 0 1782k 0 0:03:49 0:03:07 0:00:42 1704k 82 398M 82 329M 0 0 1789k 0 0:03:48 0:03:08 0:00:40 2248k 83 398M 83 332M 0 0 1795k 0 0:03:47 0:03:09 0:00:38 2630k 84 398M 84 335M 0 0 1800k 0 0:03:46 0:03:10 0:00:36 2784k 84 398M 84 337M 0 0 1803k 0 0:03:46 0:03:11 0:00:35 2764k 85 398M 85 339M 0 0 1805k 0 0:03:46 0:03:12 0:00:34 2658k 85 398M 85 342M 0 0 1812k 0 0:03:45 0:03:13 0:00:32 2678k 86 398M 86 344M 0 0 1815k 0 0:03:44 0:03:14 0:00:30 2556k 87 398M 87 347M 0 0 1819k 0 0:03:44 0:03:15 0:00:29 2563k 87 398M 87 350M 0 0 1825k 0 0:03:43 0:03:16 0:00:27 2681k 88 398M 88 353M 0 0 1832k 0 0:03:42 0:03:17 0:00:25 2854k 89 398M 89 356M 0 0 1837k 0 0:03:42 0:03:18 0:00:24 2809k 90 398M 90 359M 0 0 1842k 0 0:03:41 0:03:19 0:00:22 2904k 90 398M 90 361M 0 0 1843k 0 0:03:41 0:03:20 0:00:21 2782k 91 398M 91 363M 0 0 1843k 0 0:03:41 0:03:21 0:00:20 2546k 91 398M 91 364M 0 0 1841k 0 0:03:41 0:03:22 0:00:19 2210k 91 398M 91 366M 0 0 1841k 0 0:03:41 0:03:23 0:00:18 1983k 92 398M 92 368M 0 0 1843k 0 0:03:41 0:03:24 0:00:17 1894k 93 398M 93 370M 0 0 1847k 0 0:03:41 0:03:25 0:00:16 1997k 93 398M 93 372M 0 0 1847k 0 0:03:41 0:03:26 0:00:15 1988k 94 398M 94 374M 0 0 1849k 0 0:03:40 0:03:27 0:00:13 2170k 94 398M 94 377M 0 0 1851k 0 0:03:40 0:03:28 0:00:12 2282k 94 398M 94 378M 0 0 1850k 0 0:03:40 0:03:29 0:00:11 2124k 95 398M 95 380M 0 0 1849k 0 0:03:40 0:03:30 0:00:10 1923k 95 398M 95 382M 0 0 1848k 0 0:03:40 0:03:31 0:00:09 1913k 96 398M 96 383M 0 0 1848k 0 0:03:40 0:03:32 0:00:08 1826k 96 398M 96 386M 0 0 1850k 0 0:03:40 0:03:33 0:00:07 1817k 97 398M 97 388M 0 0 1852k 0 0:03:40 0:03:34 0:00:06 1926k 97 398M 97 390M 0 0 1852k 0 0:03:40 0:03:35 0:00:05 1983k 98 398M 98 391M 0 0 1852k 0 0:03:40 0:03:36 0:00:04 1999k 98 398M 98 393M 0 0 1851k 0 0:03:40 0:03:37 0:00:03 1968k 99 398M 99 395M 0 0 1851k 0 0:03:40 0:03:38 0:00:02 1871k 99 398M 99 397M 0 0 1853k 0 0:03:40 0:03:39 0:00:01 1926k 100 398M 100 398M 0 0 1854k 0 0:03:40 0:03:40 --:--:-- 1950k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 877k 0 0 1175k 0 0:03:28 --:--:-- 0:03:28 1174k 1 238M 1 2861k 0 0 1638k 0 0:02:29 0:00:01 0:02:28 1637k 2 238M 2 5437k 0 0 1980k 0 0:02:03 0:00:02 0:02:01 1980k 3 238M 3 8365k 0 0 2233k 0 0:01:49 0:00:03 0:01:46 2233k 4 238M 4 10.4M 0 0 2251k 0 0:01:48 0:00:04 0:01:44 2251k 5 238M 5 12.0M 0 0 2139k 0 0:01:54 0:00:05 0:01:49 2283k 5 238M 5 13.2M 0 0 2008k 0 0:02:01 0:00:06 0:01:55 2137k 6 238M 6 14.5M 0 0 1925k 0 0:02:07 0:00:07 0:02:00 1896k 6 238M 6 16.2M 0 0 1900k 0 0:02:08 0:00:08 0:02:00 1650k 7 238M 7 18.1M 0 0 1907k 0 0:02:08 0:00:09 0:01:59 1580k 8 238M 8 19.8M 0 0 1889k 0 0:02:09 0:00:10 0:01:59 1600k 8 238M 8 21.3M 0 0 1860k 0 0:02:11 0:00:11 0:02:00 1660k 9 238M 9 22.4M 0 0 1807k 0 0:02:15 0:00:12 0:02:03 1622k 9 238M 9 23.6M 0 0 1759k 0 0:02:19 0:00:13 0:02:06 1513k 10 238M 10 25.1M 0 0 1743k 0 0:02:20 0:00:14 0:02:06 1424k 11 238M 11 26.5M 0 0 1726k 0 0:02:21 0:00:15 0:02:06 1375k 11 238M 11 27.8M 0 0 1697k 0 0:02:24 0:00:16 0:02:08 1318k 12 238M 12 28.6M 0 0 1655k 0 0:02:27 0:00:17 0:02:10 1267k 12 238M 12 30.3M 0 0 1658k 0 0:02:27 0:00:18 0:02:09 1379k 13 238M 13 32.7M 0 0 1699k 0 0:02:23 0:00:19 0:02:04 1571k 14 238M 14 35.3M 0 0 1745k 0 0:02:20 0:00:20 0:02:00 1804k 15 238M 15 37.3M 0 0 1757k 0 0:02:19 0:00:21 0:01:58 1962k 16 238M 16 38.9M 0 0 1754k 0 0:02:19 0:00:22 0:01:57 2108k 17 238M 17 40.8M 0 0 1759k 0 0:02:19 0:00:23 0:01:56 2140k 17 238M 17 41.8M 0 0 1732k 0 0:02:21 0:00:24 0:01:57 1862k 18 238M 18 43.0M 0 0 1711k 0 0:02:22 0:00:25 0:01:57 1571k 18 238M 18 43.4M 0 0 1663k 0 0:02:27 0:00:26 0:02:01 1251k 18 238M 18 44.3M 0 0 1636k 0 0:02:29 0:00:27 0:02:02 1096k 18 238M 18 44.9M 0 0 1601k 0 0:02:32 0:00:28 0:02:04 851k 19 238M 19 45.7M 0 0 1572k 0 0:02:35 0:00:29 0:02:06 780k 19 238M 19 45.8M 0 0 1527k 0 0:02:40 0:00:30 0:02:10 581k 19 238M 19 46.0M 0 0 1483k 0 0:02:44 0:00:31 0:02:13 524k 19 238M 19 46.2M 0 0 1446k 0 0:02:49 0:00:32 0:02:17 396k 19 238M 19 46.4M 0 0 1407k 0 0:02:53 0:00:33 0:02:20 293k 19 238M 19 46.6M 0 0 1374k 0 0:02:58 0:00:34 0:02:24 192k 19 238M 19 46.7M 0 0 1337k 0 0:03:02 0:00:35 0:02:27 178k 19 238M 19 46.8M 0 0 1304k 0 0:03:07 0:00:36 0:02:31 163k 19 238M 19 46.8M 0 0 1271k 0 0:03:12 0:00:37 0:02:35 121k 19 238M 19 46.9M 0 0 1240k 0 0:03:17 0:00:38 0:02:39 112k 19 238M 19 47.0M 0 0 1211k 0 0:03:21 0:00:39 0:02:42 78927 19 238M 19 47.0M 0 0 1180k 0 0:03:27 0:00:40 0:02:47 67852 19 238M 19 47.1M 0 0 1155k 0 0:03:31 0:00:41 0:02:50 65339 19 238M 19 47.1M 0 0 1128k 0 0:03:36 0:00:42 0:02:54 61573 19 238M 19 47.2M 0 0 1101k 0 0:03:42 0:00:43 0:02:59 54279 19 238M 19 47.3M 0 0 1082k 0 0:03:46 0:00:44 0:03:02 62126 19 238M 19 47.4M 0 0 1060k 0 0:03:50 0:00:45 0:03:05 73202 19 238M 19 47.4M 0 0 1037k 0 0:03:55 0:00:46 0:03:09 64964 19 238M 19 47.4M 0 0 1014k 0 0:04:01 0:00:47 0:03:14 67288 19 238M 19 47.5M 0 0 998k 0 0:04:05 0:00:48 0:03:17 67299 19 238M 19 47.5M 0 0 979k 0 0:04:09 0:00:49 0:03:20 55546 19 238M 19 47.7M 0 0 963k 0 0:04:13 0:00:50 0:03:23 75453 20 238M 20 47.8M 0 0 946k 0 0:04:18 0:00:51 0:03:27 92602 20 238M 20 47.9M 0 0 931k 0 0:04:22 0:00:52 0:03:30 106k 20 238M 20 48.0M 0 0 913k 0 0:04:27 0:00:53 0:03:34 103k 20 238M 20 48.1M 0 0 900k 0 0:04:31 0:00:54 0:03:37 112k 20 238M 20 48.2M 0 0 885k 0 0:04:36 0:00:55 0:03:41 97523 20 238M 20 48.3M 0 0 871k 0 0:04:40 0:00:56 0:03:44 94784 20 238M 20 48.3M 0 0 856k 0 0:04:45 0:00:57 0:03:48 74638 20 238M 20 48.4M 0 0 844k 0 0:04:49 0:00:58 0:03:51 86935 20 238M 20 48.5M 0 0 831k 0 0:04:54 0:00:59 0:03:55 78564 20 238M 20 48.6M 0 0 818k 0 0:04:58 0:01:00 0:03:58 75354 20 238M 20 48.6M 0 0 806k 0 0:05:03 0:01:01 0:04:02 69168 20 238M 20 48.7M 0 0 794k 0 0:05:07 0:01:02 0:04:05 75909 20 238M 20 48.8M 0 0 784k 0 0:05:11 0:01:03 0:04:08 85436 20 238M 20 49.6M 0 0 785k 0 0:05:11 0:01:04 0:04:07 237k 21 238M 21 51.3M 0 0 799k 0 0:05:05 0:01:05 0:04:00 570k 22 238M 22 53.7M 0 0 825k 0 0:04:56 0:01:06 0:03:50 1050k 23 238M 23 55.8M 0 0 844k 0 0:04:49 0:01:07 0:03:42 1463k 24 238M 24 57.5M 0 0 856k 0 0:04:45 0:01:08 0:03:37 1774k 24 238M 24 58.9M 0 0 865k 0 0:04:42 0:01:09 0:03:33 1897k 25 238M 25 60.1M 0 0 870k 0 0:04:41 0:01:10 0:03:31 1795k 25 238M 25 61.2M 0 0 874k 0 0:04:39 0:01:11 0:03:28 1535k 26 238M 26 62.3M 0 0 877k 0 0:04:38 0:01:12 0:03:26 1328k 26 238M 26 63.5M 0 0 881k 0 0:04:37 0:01:13 0:03:24 1228k 26 238M 26 64.4M 0 0 883k 0 0:04:36 0:01:14 0:03:22 1139k 27 238M 27 66.3M 0 0 896k 0 0:04:32 0:01:15 0:03:17 1266k 28 238M 28 68.6M 0 0 916k 0 0:04:27 0:01:16 0:03:11 1514k 29 238M 29 70.6M 0 0 930k 0 0:04:23 0:01:17 0:03:06 1701k 30 238M 30 72.3M 0 0 940k 0 0:04:20 0:01:18 0:03:02 1808k 30 238M 30 73.9M 0 0 949k 0 0:04:17 0:01:19 0:02:58 1942k 31 238M 31 75.3M 0 0 956k 0 0:04:15 0:01:20 0:02:55 1859k 32 238M 32 76.6M 0 0 960k 0 0:04:14 0:01:21 0:02:53 1635k 32 238M 32 78.2M 0 0 967k 0 0:04:12 0:01:22 0:02:50 1550k 33 238M 33 79.4M 0 0 971k 0 0:04:11 0:01:23 0:02:48 1449k 33 238M 33 80.7M 0 0 976k 0 0:04:10 0:01:24 0:02:46 1391k 34 238M 34 82.5M 0 0 986k 0 0:04:08 0:01:25 0:02:43 1471k 35 238M 35 85.2M 0 0 1006k 0 0:04:03 0:01:26 0:02:37 1763k 37 238M 37 88.7M 0 0 1035k 0 0:03:56 0:01:27 0:02:29 2149k 38 238M 38 92.2M 0 0 1064k 0 0:03:49 0:01:28 0:02:21 2620k 39 238M 39 95.4M 0 0 1089k 0 0:03:44 0:01:29 0:02:15 3015k 41 238M 41 99.7M 0 0 1126k 0 0:03:37 0:01:30 0:02:07 3527k 43 238M 43 104M 0 0 1165k 0 0:03:29 0:01:31 0:01:58 3926k 45 238M 45 108M 0 0 1200k 0 0:03:23 0:01:32 0:01:51 4107k 47 238M 47 113M 0 0 1237k 0 0:03:17 0:01:33 0:01:44 4320k 49 238M 49 117M 0 0 1272k 0 0:03:12 0:01:34 0:01:38 4553k 51 238M 51 122M 0 0 1306k 0 0:03:07 0:01:35 0:01:32 4582k 52 238M 52 126M 0 0 1334k 0 0:03:03 0:01:36 0:01:27 4432k 54 238M 54 129M 0 0 1357k 0 0:03:00 0:01:37 0:01:23 4268k 55 238M 55 133M 0 0 1386k 0 0:02:56 0:01:38 0:01:18 4179k 57 238M 57 138M 0 0 1419k 0 0:02:52 0:01:39 0:01:13 4201k 60 238M 60 143M 0 0 1458k 0 0:02:47 0:01:40 0:01:07 4364k 61 238M 61 148M 0 0 1490k 0 0:02:44 0:01:41 0:01:03 4507k 63 238M 63 152M 0 0 1518k 0 0:02:41 0:01:42 0:00:59 4666k 65 238M 65 156M 0 0 1541k 0 0:02:38 0:01:43 0:00:55 4608k 67 238M 67 160M 0 0 1565k 0 0:02:36 0:01:44 0:00:52 4486k 68 238M 68 163M 0 0 1586k 0 0:02:34 0:01:45 0:00:49 4172k 70 238M 70 167M 0 0 1607k 0 0:02:32 0:01:46 0:00:46 3981k 71 238M 71 170M 0 0 1624k 0 0:02:30 0:01:47 0:00:43 3801k 73 238M 73 174M 0 0 1644k 0 0:02:28 0:01:48 0:00:40 3768k 74 238M 74 178M 0 0 1661k 0 0:02:27 0:01:49 0:00:38 3676k 76 238M 76 181M 0 0 1682k 0 0:02:25 0:01:50 0:00:35 3708k 77 238M 77 185M 0 0 1702k 0 0:02:23 0:01:51 0:00:32 3731k 79 238M 79 188M 0 0 1716k 0 0:02:22 0:01:52 0:00:30 3692k 80 238M 80 191M 0 0 1723k 0 0:02:22 0:01:53 0:00:29 3440k 81 238M 81 194M 0 0 1733k 0 0:02:21 0:01:54 0:00:27 3309k 82 238M 82 196M 0 0 1740k 0 0:02:20 0:01:55 0:00:25 3027k 83 238M 83 199M 0 0 1748k 0 0:02:19 0:01:56 0:00:23 2790k 84 238M 84 202M 0 0 1761k 0 0:02:18 0:01:57 0:00:21 2790k 85 238M 85 205M 0 0 1771k 0 0:02:18 0:01:58 0:00:20 2873k 87 238M 87 208M 0 0 1782k 0 0:02:17 0:01:59 0:00:18 2893k 88 238M 88 211M 0 0 1796k 0 0:02:16 0:02:00 0:00:16 3091k 90 238M 90 215M 0 0 1815k 0 0:02:14 0:02:01 0:00:13 3366k 91 238M 91 219M 0 0 1827k 0 0:02:13 0:02:02 0:00:11 3369k 92 238M 92 222M 0 0 1838k 0 0:02:13 0:02:03 0:00:10 3421k 94 238M 94 225M 0 0 1853k 0 0:02:12 0:02:04 0:00:08 3568k 96 238M 96 229M 0 0 1869k 0 0:02:10 0:02:05 0:00:05 3624k 97 238M 97 232M 0 0 1881k 0 0:02:10 0:02:06 0:00:04 3497k 98 238M 98 235M 0 0 1887k 0 0:02:09 0:02:07 0:00:02 3375k 99 238M 99 237M 0 0 1890k 0 0:02:09 0:02:08 0:00:01 3190k 100 238M 100 238M 0 0 1893k 0 0:02:09 0:02:09 --:--:-- 2990k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 10 14.5M 10 1593k 0 0 2411k 0 0:00:06 --:--:-- 0:00:06 2410k 46 14.5M 46 6889k 0 0 4148k 0 0:00:03 0:00:01 0:00:02 4147k 81 14.5M 81 11.8M 0 0 4554k 0 0:00:03 0:00:02 0:00:01 4553k 100 14.5M 100 14.5M 0 0 4537k 0 0:00:03 0:00:03 --:--:-- 4538k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128 ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t llvm-upstream --sysroot-from gnu-plct -e qemu-user-riscv-upstream generic venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/llvm_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_llvm.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ clang -O3 hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi llvm compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi llvm compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi binary failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi binary failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf llvm_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:49:14 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:49:14 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:49:14 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpy8bssxs4 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpy8bssxs4 +Wed Apr 10 06:49:14 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpy8bssxs4 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpy8bssxs4 +Wed Apr 10 06:50:21 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:50:22 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-06_59_32.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-06_59_32.log new file mode 100644 index 00000000..fbd17e5b --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-06_59_32.log @@ -0,0 +1,241 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:59:32 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:59:32 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmptde2r1l3 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmptde2r1l3 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmptde2r1l3 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmptde2r1l3 +Wed Apr 10 06:59:51 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmptde2r1l3 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 16 23.7M 16 4091k 0 0 5101k 0 0:00:04 --:--:-- 0:00:04 5095k 53 23.7M 53 12.7M 0 0 7251k 0 0:00:03 0:00:01 0:00:02 7247k 94 23.7M 94 22.3M 0 0 8163k 0 0:00:02 0:00:02 --:--:-- 8161k 100 23.7M 100 23.7M 0 0 8261k 0 0:00:02 0:00:02 --:--:-- 8260k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:59:54 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:59:54 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting +objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting +objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting +objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% +(333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% +(362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% +(392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% +(421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: +61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:00:07 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:00:07 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:00:07 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmptde2r1l3 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptde2r1l3 +Wed Apr 10 07:00:07 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptde2r1l3 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmptde2r1l3 +Wed Apr 10 07:00:13 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:00:13 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-05_33_16.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-05_33_16.log new file mode 100644 index 00000000..ef2d6014 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-05_33_16.log @@ -0,0 +1,304 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 05:33:16 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 05:33:30 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp_vc_jtj5 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp_vc_jtj5 ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp_vc_jtj5 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp_vc_jtj5 +Wed Apr 10 05:33:54 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp_vc_jtj5 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 13 23.7M 13 3274k 0 0 3173k 0 0:00:07 0:00:01 0:00:06 3172k 35 23.7M 35 8666k 0 0 4265k 0 0:00:05 0:00:02 0:00:03 4264k 60 23.7M 60 14.3M 0 0 4836k 0 0:00:05 0:00:03 0:00:02 4835k 87 23.7M 87 20.8M 0 0 5291k 0 0:00:04 0:00:04 --:--:-- 5290k 100 23.7M 100 23.7M 0 0 5444k 0 0:00:04 0:00:04 --:--:-- 5545k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 05:33:58 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 05:33:59 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ++ '[' -z ' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ']' ++ ruyi install gnu-plct qemu-user-riscv-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 14.5M 0 144k 0 0 66490 0 0:03:50 0:00:02 0:03:48 66515 30 14.5M 30 4496k 0 0 1834k 0 0:00:08 0:00:02 0:00:06 1834k 57 14.5M 57 8624k 0 0 2499k 0 0:00:05 0:00:03 0:00:02 2499k 91 14.5M 91 13.3M 0 0 3070k 0 0:00:04 0:00:04 --:--:-- 3069k 100 14.5M 100 14.5M 0 0 3194k 0 0:00:04 0:00:04 --:--:-- 3194k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 556k 0 0 1229k 0 0:03:19 --:--:-- 0:03:19 1228k 2 238M 2 6092k 0 0 4237k 0 0:00:57 0:00:01 0:00:56 4236k 4 238M 4 11.1M 0 0 4702k 0 0:00:52 0:00:02 0:00:50 4702k 6 238M 6 15.4M 0 0 4591k 0 0:00:53 0:00:03 0:00:50 4591k 7 238M 7 18.5M 0 0 4274k 0 0:00:57 0:00:04 0:00:53 4274k 8 238M 8 20.9M 0 0 3937k 0 0:01:02 0:00:05 0:00:57 4182k 9 238M 9 22.9M 0 0 3655k 0 0:01:06 0:00:06 0:01:00 3488k 10 238M 10 25.1M 0 0 3458k 0 0:01:10 0:00:07 0:01:03 2851k 11 238M 11 27.6M 0 0 3361k 0 0:01:12 0:00:08 0:01:04 2515k 12 238M 12 30.1M 0 0 3276k 0 0:01:14 0:00:09 0:01:05 2390k 13 238M 13 33.4M 0 0 3276k 0 0:01:14 0:00:10 0:01:04 2557k 15 238M 15 37.3M 0 0 3343k 0 0:01:13 0:00:11 0:01:02 2943k 17 238M 17 42.0M 0 0 3460k 0 0:01:10 0:00:12 0:00:58 3462k 19 238M 19 47.1M 0 0 3596k 0 0:01:08 0:00:13 0:00:55 3992k 21 238M 21 52.3M 0 0 3712k 0 0:01:05 0:00:14 0:00:51 4536k 23 238M 23 56.8M 0 0 3772k 0 0:01:04 0:00:15 0:00:49 4806k 25 238M 25 60.8M 0 0 3790k 0 0:01:04 0:00:16 0:00:48 4812k 26 238M 26 64.4M 0 0 3786k 0 0:01:04 0:00:17 0:00:47 4597k 28 238M 28 67.5M 0 0 3752k 0 0:01:05 0:00:18 0:00:47 4173k 29 238M 29 70.7M 0 0 3726k 0 0:01:05 0:00:19 0:00:46 3766k 30 238M 30 73.7M 0 0 3695k 0 0:01:06 0:00:20 0:00:46 3459k 32 238M 32 77.0M 0 0 3680k 0 0:01:06 0:00:21 0:00:45 3315k 33 238M 33 80.6M 0 0 3681k 0 0:01:06 0:00:22 0:00:44 3318k 35 238M 35 84.0M 0 0 3673k 0 0:01:06 0:00:23 0:00:43 3382k 36 238M 36 86.9M 0 0 3643k 0 0:01:07 0:00:24 0:00:43 3321k 37 238M 37 89.9M 0 0 3538k 0 0:01:09 0:00:26 0:00:43 2964k 38 238M 38 92.9M 0 0 3600k 0 0:01:07 0:00:26 0:00:41 3260k 40 238M 40 97.0M 0 0 3622k 0 0:01:07 0:00:27 0:00:40 3356k 42 238M 42 100M 0 0 3619k 0 0:01:07 0:00:28 0:00:39 3363k 43 238M 43 103M 0 0 3613k 0 0:01:07 0:00:29 0:00:38 3466k 44 238M 44 106M 0 0 3587k 0 0:01:08 0:00:30 0:00:38 3879k 45 238M 45 109M 0 0 3558k 0 0:01:08 0:00:31 0:00:37 3333k 46 238M 46 111M 0 0 3526k 0 0:01:09 0:00:32 0:00:37 2995k 47 238M 47 114M 0 0 3493k 0 0:01:10 0:00:33 0:00:37 2780k 48 238M 48 116M 0 0 3450k 0 0:01:10 0:00:34 0:00:36 2499k 49 238M 49 117M 0 0 3396k 0 0:01:12 0:00:35 0:00:37 2236k 49 238M 49 118M 0 0 3340k 0 0:01:13 0:00:36 0:00:37 1968k 50 238M 50 120M 0 0 3287k 0 0:01:14 0:00:37 0:00:37 1740k 50 238M 50 121M 0 0 3240k 0 0:01:15 0:00:38 0:00:37 1548k 51 238M 51 123M 0 0 3213k 0 0:01:16 0:00:39 0:00:37 1567k 52 238M 52 126M 0 0 3205k 0 0:01:16 0:00:40 0:00:36 1849k 53 238M 53 128M 0 0 3181k 0 0:01:16 0:00:41 0:00:35 2022k 54 238M 54 131M 0 0 3168k 0 0:01:17 0:00:42 0:00:35 2275k 56 238M 56 134M 0 0 3173k 0 0:01:17 0:00:43 0:00:34 2659k 58 238M 58 138M 0 0 3196k 0 0:01:16 0:00:44 0:00:32 3062k 59 238M 59 143M 0 0 3229k 0 0:01:15 0:00:45 0:00:30 3424k 61 238M 61 147M 0 0 3259k 0 0:01:15 0:00:46 0:00:29 3910k 63 238M 63 152M 0 0 3290k 0 0:01:14 0:00:47 0:00:27 4325k 65 238M 65 157M 0 0 3322k 0 0:01:13 0:00:48 0:00:25 4614k 67 238M 67 162M 0 0 3364k 0 0:01:12 0:00:49 0:00:23 4854k 70 238M 70 168M 0 0 3417k 0 0:01:11 0:00:50 0:00:21 5123k 72 238M 72 173M 0 0 3462k 0 0:01:10 0:00:51 0:00:19 5346k 75 238M 75 179M 0 0 3513k 0 0:01:09 0:00:52 0:00:17 5628k 77 238M 77 185M 0 0 3563k 0 0:01:08 0:00:53 0:00:15 5897k 80 238M 80 192M 0 0 3618k 0 0:01:07 0:00:54 0:00:13 6131k 83 238M 83 198M 0 0 3587k 0 0:01:08 0:00:56 0:00:12 4969k 86 238M 86 206M 0 0 3682k 0 0:01:06 0:00:57 0:00:09 5571k 88 238M 88 211M 0 0 3697k 0 0:01:06 0:00:58 0:00:08 5311k 90 238M 90 216M 0 0 3725k 0 0:01:05 0:00:59 0:00:06 5165k 92 238M 92 222M 0 0 3764k 0 0:01:05 0:01:00 0:00:05 5085k 95 238M 95 228M 0 0 3808k 0 0:01:04 0:01:01 0:00:03 6424k 98 238M 98 234M 0 0 3848k 0 0:01:03 0:01:02 0:00:01 5756k 100 238M 100 238M 0 0 3874k 0 0:01:03 0:01:03 --:--:-- 6055k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct -e qemu-user-riscv-upstream milkv-duo venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plct-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +qemu-riscv64: warning: disabling zfa extension because privilege spec version does not match +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi emulation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi emulation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 05:41:08 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 05:41:08 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 05:41:08 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp_vc_jtj5 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp_vc_jtj5 +Wed Apr 10 05:41:08 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp_vc_jtj5 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp_vc_jtj5 +Wed Apr 10 05:41:53 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 05:41:54 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-06_50_22.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-06_50_22.log new file mode 100644 index 00000000..da8d9617 --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-06_50_22.log @@ -0,0 +1,288 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:50:22 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:50:23 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp5opm_qrf ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp5opm_qrf ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp5opm_qrf ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp5opm_qrf +Wed Apr 10 06:50:40 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp5opm_qrf ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 15 23.7M 15 3679k 0 0 3409k 0 0:00:07 0:00:01 0:00:06 3409k 30 23.7M 30 7439k 0 0 3581k 0 0:00:06 0:00:02 0:00:04 3581k 43 23.7M 43 10.2M 0 0 3411k 0 0:00:07 0:00:03 0:00:04 3411k 50 23.7M 50 11.9M 0 0 2995k 0 0:00:08 0:00:04 0:00:04 2995k 54 23.7M 54 13.0M 0 0 2628k 0 0:00:09 0:00:05 0:00:04 2670k 57 23.7M 57 13.6M 0 0 2301k 0 0:00:10 0:00:06 0:00:04 2061k 59 23.7M 59 14.0M 0 0 2033k 0 0:00:11 0:00:07 0:00:04 1392k 60 23.7M 60 14.3M 0 0 1812k 0 0:00:13 0:00:08 0:00:05 831k 62 23.7M 62 14.8M 0 0 1669k 0 0:00:14 0:00:09 0:00:05 588k 66 23.7M 66 15.8M 0 0 1614k 0 0:00:15 0:00:10 0:00:05 582k 69 23.7M 69 16.5M 0 0 1528k 0 0:00:15 0:00:11 0:00:04 591k 71 23.7M 71 17.0M 0 0 1443k 0 0:00:16 0:00:12 0:00:04 607k 73 23.7M 73 17.3M 0 0 1360k 0 0:00:17 0:00:13 0:00:04 623k 75 23.7M 75 17.9M 0 0 1303k 0 0:00:18 0:00:14 0:00:04 639k 79 23.7M 79 18.9M 0 0 1288k 0 0:00:18 0:00:15 0:00:03 633k 83 23.7M 83 19.7M 0 0 1259k 0 0:00:19 0:00:16 0:00:03 662k 86 23.7M 86 20.4M 0 0 1228k 0 0:00:19 0:00:17 0:00:02 708k 89 23.7M 89 21.3M 0 0 1208k 0 0:00:20 0:00:18 0:00:02 812k 96 23.7M 96 22.8M 0 0 1224k 0 0:00:19 0:00:19 --:--:-- 1001k 100 23.7M 100 23.7M 0 0 1244k 0 0:00:19 0:00:19 --:--:-- 1092k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:50:59 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:51:00 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting +objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting +objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting +objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing +objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing +objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% +(113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% +(125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing +objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% +(147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 238M 1 3066k 0 0 2607k 0 0:01:33 0:00:01 0:01:32 2607k 2 238M 2 7050k 0 0 3242k 0 0:01:15 0:00:02 0:01:13 3241k 4 238M 4 11.0M 0 0 3571k 0 0:01:08 0:00:03 0:01:05 3571k 6 238M 6 16.6M 0 0 4072k 0 0:01:00 0:00:04 0:00:56 4072k 9 238M 9 22.9M 0 0 4531k 0 0:00:54 0:00:05 0:00:49 4692k 12 238M 12 29.9M 0 0 4958k 0 0:00:49 0:00:06 0:00:43 5510k 15 238M 15 37.5M 0 0 5362k 0 0:00:45 0:00:07 0:00:38 6284k 19 238M 19 46.0M 0 0 5771k 0 0:00:42 0:00:08 0:00:34 7168k 23 238M 23 55.2M 0 0 6169k 0 0:00:39 0:00:09 0:00:30 7919k 26 238M 26 63.3M 0 0 6376k 0 0:00:38 0:00:10 0:00:28 8284k 29 238M 29 69.5M 0 0 6371k 0 0:00:38 0:00:11 0:00:27 8118k 31 238M 31 75.3M 0 0 6333k 0 0:00:38 0:00:12 0:00:26 7727k 34 238M 34 82.0M 0 0 6376k 0 0:00:38 0:00:13 0:00:25 7366k 37 238M 37 89.5M 0 0 6455k 0 0:00:37 0:00:14 0:00:23 6976k 39 238M 39 94.4M 0 0 6368k 0 0:00:38 0:00:15 0:00:23 6354k 41 238M 41 99.5M 0 0 6303k 0 0:00:38 0:00:16 0:00:22 6150k 44 238M 44 105M 0 0 6289k 0 0:00:38 0:00:17 0:00:21 6182k 46 238M 46 112M 0 0 6322k 0 0:00:38 0:00:18 0:00:20 6181k 50 238M 50 119M 0 0 6393k 0 0:00:38 0:00:19 0:00:19 6217k 53 238M 53 127M 0 0 6496k 0 0:00:37 0:00:20 0:00:17 6882k 57 238M 57 136M 0 0 6619k 0 0:00:36 0:00:21 0:00:15 7643k 61 238M 61 146M 0 0 6770k 0 0:00:36 0:00:22 0:00:14 8419k 65 238M 65 156M 0 0 6932k 0 0:00:35 0:00:23 0:00:12 9150k 69 238M 69 166M 0 0 7068k 0 0:00:34 0:00:24 0:00:10 9654k 73 238M 73 176M 0 0 7161k 0 0:00:34 0:00:25 0:00:09 9845k 77 238M 77 186M 0 0 7290k 0 0:00:33 0:00:26 0:00:07 9.8M 82 238M 82 197M 0 0 7430k 0 0:00:32 0:00:27 0:00:05 10.1M 87 238M 87 208M 0 0 7568k 0 0:00:32 0:00:28 0:00:04 10.2M 91 238M 91 219M 0 0 7699k 0 0:00:31 0:00:29 0:00:02 10.4M 95 238M 95 228M 0 0 7767k 0 0:00:31 0:00:30 0:00:01 10.5M 100 238M 100 238M 0 0 7850k 0 0:00:31 0:00:31 --:--:-- 10.5M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:53:21 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:53:21 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:53:21 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp5opm_qrf ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp5opm_qrf +Wed Apr 10 06:53:21 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp5opm_qrf ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp5opm_qrf +Wed Apr 10 06:53:59 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:53:59 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_00_13.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_00_13.log new file mode 100644 index 00000000..a5b0711c --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-07_00_13.log @@ -0,0 +1,674 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 07:00:14 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 07:00:14 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp4shax06e ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp4shax06e ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp4shax06e ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp4shax06e +Wed Apr 10 07:00:29 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp4shax06e ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 19 23.7M 19 4714k 0 0 5092k 0 0:00:04 --:--:-- 0:00:04 5090k 53 23.7M 53 12.7M 0 0 6801k 0 0:00:03 0:00:01 0:00:02 6800k 91 23.7M 91 21.7M 0 0 7599k 0 0:00:03 0:00:02 0:00:01 7598k 100 23.7M 100 23.7M 0 0 7730k 0 0:00:03 0:00:03 --:--:-- 7731k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 07:00:32 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 07:00:32 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: +6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: +10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting +objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% +(215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% +(244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% +(274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% +(303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: +45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: +49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting +objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% +(443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% +(473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% +(502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% +(532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% +(561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: +80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting +objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting +objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting +objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing +objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing +objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% +(63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: +24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing +objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% +(97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing +objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='llvm-upstream +gnu-plct +gnu-plct-rv64ilp32-elf +gnu-plct-xthead +gnu-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ++ '[' '!' -z ' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ']' ++ pkgname=llvm-upstream ++ break ++ '[' -z llvm-upstream ']' ++ ruyi install llvm-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.am +d64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 2840k 0 0 4213k 0 0:01:36 --:--:-- 0:01:36 4208k 3 398M 3 13.2M 0 0 8128k 0 0:00:50 0:00:01 0:00:49 8124k 6 398M 6 24.3M 0 0 9343k 0 0:00:43 0:00:02 0:00:41 9340k 8 398M 8 35.4M 0 0 9874k 0 0:00:41 0:00:03 0:00:38 9872k 11 398M 11 45.3M 0 0 9925k 0 0:00:41 0:00:04 0:00:37 9925k 14 398M 14 55.8M 0 0 9.8M 0 0:00:40 0:00:05 0:00:35 10.6M 16 398M 16 66.8M 0 0 10.0M 0 0:00:39 0:00:06 0:00:33 10.7M 19 398M 19 77.9M 0 0 10.1M 0 0:00:39 0:00:07 0:00:32 10.7M 22 398M 22 88.6M 0 0 10.2M 0 0:00:39 0:00:08 0:00:31 10.6M 22 398M 22 91.3M 0 0 9667k 0 0:00:42 0:00:09 0:00:33 9427k 23 398M 23 95.2M 0 0 9133k 0 0:00:44 0:00:10 0:00:34 8060k 25 398M 25 101M 0 0 8866k 0 0:00:46 0:00:11 0:00:35 7011k 27 398M 27 108M 0 0 8750k 0 0:00:46 0:00:12 0:00:34 6208k 29 398M 29 116M 0 0 8713k 0 0:00:46 0:00:13 0:00:33 5683k 31 398M 31 124M 0 0 8712k 0 0:00:46 0:00:14 0:00:32 6863k 33 398M 33 133M 0 0 8719k 0 0:00:46 0:00:15 0:00:31 7833k 35 398M 35 142M 0 0 8731k 0 0:00:46 0:00:16 0:00:30 8416k 37 398M 37 150M 0 0 8727k 0 0:00:46 0:00:17 0:00:29 8668k 40 398M 40 159M 0 0 8762k 0 0:00:46 0:00:18 0:00:28 8896k 42 398M 42 169M 0 0 8820k 0 0:00:46 0:00:19 0:00:27 9136k 44 398M 44 176M 0 0 8762k 0 0:00:46 0:00:20 0:00:26 8899k 46 398M 46 183M 0 0 8670k 0 0:00:47 0:00:21 0:00:26 8467k 47 398M 47 190M 0 0 8584k 0 0:00:47 0:00:22 0:00:25 8080k 49 398M 49 196M 0 0 8478k 0 0:00:48 0:00:23 0:00:25 7420k 50 398M 50 201M 0 0 8365k 0 0:00:48 0:00:24 0:00:24 6579k 51 398M 51 206M 0 0 8234k 0 0:00:49 0:00:25 0:00:24 6051k 52 398M 52 210M 0 0 8093k 0 0:00:50 0:00:26 0:00:24 5593k 54 398M 54 215M 0 0 7980k 0 0:00:51 0:00:27 0:00:24 5240k 55 398M 55 220M 0 0 7878k 0 0:00:51 0:00:28 0:00:23 5036k 56 398M 56 224M 0 0 7763k 0 0:00:52 0:00:29 0:00:23 4788k 57 398M 57 228M 0 0 7642k 0 0:00:53 0:00:30 0:00:23 4604k 58 398M 58 232M 0 0 7524k 0 0:00:54 0:00:31 0:00:23 4490k 59 398M 59 236M 0 0 7399k 0 0:00:55 0:00:32 0:00:23 4186k 59 398M 59 238M 0 0 7265k 0 0:00:56 0:00:33 0:00:23 3749k 60 398M 60 241M 0 0 7123k 0 0:00:57 0:00:34 0:00:23 3327k 61 398M 61 243M 0 0 6998k 0 0:00:58 0:00:35 0:00:23 3046k 61 398M 61 247M 0 0 6895k 0 0:00:59 0:00:36 0:00:23 2923k 62 398M 62 249M 0 0 6783k 0 0:01:00 0:00:37 0:00:23 2757k 63 398M 63 251M 0 0 6666k 0 0:01:01 0:00:38 0:00:23 2630k 63 398M 63 253M 0 0 6549k 0 0:01:02 0:00:39 0:00:23 2569k 64 398M 64 255M 0 0 6444k 0 0:01:03 0:00:40 0:00:23 2492k 64 398M 64 259M 0 0 6365k 0 0:01:04 0:00:41 0:00:23 2460k 65 398M 65 261M 0 0 6282k 0 0:01:04 0:00:42 0:00:22 2509k 66 398M 66 264M 0 0 6192k 0 0:01:05 0:00:43 0:00:22 2528k 67 398M 67 267M 0 0 6124k 0 0:01:06 0:00:44 0:00:22 2753k 67 398M 67 270M 0 0 6071k 0 0:01:07 0:00:45 0:00:22 3033k 68 398M 68 273M 0 0 6005k 0 0:01:07 0:00:46 0:00:21 3031k 69 398M 69 276M 0 0 5937k 0 0:01:08 0:00:47 0:00:21 3010k 69 398M 69 278M 0 0 5865k 0 0:01:09 0:00:48 0:00:21 3008k 70 398M 70 280M 0 0 5786k 0 0:01:10 0:00:49 0:00:21 2764k 70 398M 70 282M 0 0 5706k 0 0:01:11 0:00:50 0:00:21 2373k 71 398M 71 284M 0 0 5640k 0 0:01:12 0:00:51 0:00:21 2201k 72 398M 72 287M 0 0 5581k 0 0:01:13 0:00:52 0:00:21 2165k 72 398M 72 290M 0 0 5536k 0 0:01:13 0:00:53 0:00:20 2336k 73 398M 73 293M 0 0 5500k 0 0:01:14 0:00:54 0:00:20 2658k 74 398M 74 296M 0 0 5457k 0 0:01:14 0:00:55 0:00:19 2931k 75 398M 75 299M 0 0 5413k 0 0:01:15 0:00:56 0:00:19 3072k 76 398M 76 303M 0 0 5381k 0 0:01:15 0:00:57 0:00:18 3267k 77 398M 77 307M 0 0 5364k 0 0:01:16 0:00:58 0:00:18 3520k 78 398M 78 312M 0 0 5357k 0 0:01:16 0:00:59 0:00:17 3799k 79 398M 79 317M 0 0 5363k 0 0:01:16 0:01:00 0:00:16 4320k 81 398M 81 323M 0 0 5371k 0 0:01:16 0:01:01 0:00:15 4896k 82 398M 82 329M 0 0 5381k 0 0:01:15 0:01:02 0:00:13 5391k 84 398M 84 336M 0 0 5406k 0 0:01:15 0:01:03 0:00:12 5891k 86 398M 86 343M 0 0 5440k 0 0:01:15 0:01:04 0:00:11 6419k 88 398M 88 351M 0 0 5485k 0 0:01:14 0:01:05 0:00:09 6963k 90 398M 90 360M 0 0 5542k 0 0:01:13 0:01:06 0:00:07 7641k 92 398M 92 370M 0 0 5609k 0 0:01:12 0:01:07 0:00:05 8459k 95 398M 95 381M 0 0 5685k 0 0:01:11 0:01:08 0:00:03 9244k 96 398M 96 384M 0 0 5648k 0 0:01:12 0:01:09 0:00:03 8348k 97 398M 97 389M 0 0 5637k 0 0:01:12 0:01:10 0:00:02 7640k 98 398M 98 394M 0 0 5639k 0 0:01:12 0:01:11 0:00:01 6937k 100 398M 100 398M 0 0 5646k 0 0:01:12 0:01:12 --:--:-- 6194k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/x86_64/llvm-upstream-17 +.0.5-ruyi.20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install llvm-upstream ++ grep 'skipping already installed package' +info: skipping already installed package llvm-upstream-17.0.5-ruyi.20231121 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 07:02:12 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 07:02:12 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 07:02:12 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp4shax06e ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4shax06e +Wed Apr 10 07:02:12 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4shax06e ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp4shax06e +Wed Apr 10 07:02:51 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 07:02:51 2024 - INFO - Finish environment cleanup! diff --git a/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-06_53_59.log b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-06_53_59.log new file mode 100644 index 00000000..54f22eec --- /dev/null +++ b/20240408/logs/ubuntu2204-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-06_53_59.log @@ -0,0 +1,318 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 06:54:00 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 06:54:00 2024 - INFO - unsupported package manager: dnf ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmphjrrmwwi ++ '[' -z '' ']' ++ tmpfile=/tmp/tmphjrrmwwi ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmphjrrmwwi ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmphjrrmwwi +Wed Apr 10 06:54:53 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmphjrrmwwi ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.0 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.0/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 14 23.7M 14 3483k 0 0 3997k 0 0:00:06 --:--:-- 0:00:06 3995k 41 23.7M 41 9995k 0 0 5341k 0 0:00:04 0:00:01 0:00:03 5339k 63 23.7M 63 15.1M 0 0 5396k 0 0:00:04 0:00:02 0:00:02 5396k 88 23.7M 88 21.1M 0 0 5582k 0 0:00:04 0:00:03 0:00:01 5581k 100 23.7M 100 23.7M 0 0 5528k 0 0:00:04 0:00:04 --:--:-- 5529k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 06:54:58 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 06:54:58 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ++ '[' -n ' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ']' ++ qemu_pkg=qemu-user-riscv-xthead ++ qemu_cmd='-e qemu-user-riscv-xthead' ++ ruyi install gnu-plct-xthead qemu-user-riscv-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 308M 2 7454k 0 0 6317k 0 0:00:49 0:00:01 0:00:48 6317k 5 308M 5 16.3M 0 0 7691k 0 0:00:41 0:00:02 0:00:39 7690k 8 308M 8 24.8M 0 0 8004k 0 0:00:39 0:00:03 0:00:36 8004k 11 308M 11 33.9M 0 0 8325k 0 0:00:37 0:00:04 0:00:33 8324k 14 308M 14 43.8M 0 0 8664k 0 0:00:36 0:00:05 0:00:31 8977k 17 308M 17 54.3M 0 0 9012k 0 0:00:35 0:00:06 0:00:29 9648k 21 308M 21 65.3M 0 0 9325k 0 0:00:33 0:00:07 0:00:26 9.8M 24 308M 24 76.5M 0 0 9578k 0 0:00:32 0:00:08 0:00:24 10.3M 28 308M 28 87.6M 0 0 9777k 0 0:00:32 0:00:09 0:00:23 10.7M 31 308M 31 98.0M 0 0 9859k 0 0:00:32 0:00:10 0:00:22 10.8M 35 308M 35 108M 0 0 9977k 0 0:00:31 0:00:11 0:00:20 10.9M 38 308M 38 120M 0 0 9.8M 0 0:00:31 0:00:12 0:00:19 10.9M 42 308M 42 130M 0 0 9.9M 0 0:00:31 0:00:13 0:00:18 10.8M 45 308M 45 140M 0 0 9.9M 0 0:00:31 0:00:14 0:00:17 10.6M 49 308M 49 151M 0 0 9.9M 0 0:00:30 0:00:15 0:00:15 10.6M 52 308M 52 162M 0 0 10.0M 0 0:00:30 0:00:16 0:00:14 10.6M 56 308M 56 173M 0 0 10.0M 0 0:00:30 0:00:17 0:00:13 10.6M 59 308M 59 184M 0 0 10.1M 0 0:00:30 0:00:18 0:00:12 10.7M 63 308M 63 195M 0 0 10.1M 0 0:00:30 0:00:19 0:00:11 10.8M 66 308M 66 206M 0 0 10.2M 0 0:00:30 0:00:20 0:00:10 10.9M 70 308M 70 217M 0 0 10.2M 0 0:00:30 0:00:21 0:00:09 10.9M 74 308M 74 228M 0 0 10.2M 0 0:00:29 0:00:22 0:00:07 10.9M 77 308M 77 239M 0 0 10.3M 0 0:00:29 0:00:23 0:00:06 10.9M 81 308M 81 250M 0 0 10.3M 0 0:00:29 0:00:24 0:00:05 11.0M 84 308M 84 260M 0 0 10.3M 0 0:00:29 0:00:25 0:00:04 10.9M 88 308M 88 271M 0 0 10.3M 0 0:00:29 0:00:26 0:00:03 10.8M 91 308M 91 282M 0 0 10.3M 0 0:00:29 0:00:27 0:00:02 10.8M 94 308M 94 291M 0 0 10.3M 0 0:00:29 0:00:28 0:00:01 10.5M 97 308M 97 301M 0 0 10.3M 0 0:00:29 0:00:29 --:--:-- 10.1M 100 308M 100 308M 0 0 10.2M 0 0:00:30 0:00:30 --:--:-- 9.8M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 3577k 100 3577k 0 0 3435k 0 0:00:01 0:00:01 --:--:-- 3436k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead -e qemu-user-riscv-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n qemu-user-riscv-xthead ']' ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi emulation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi emulation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 06:58:31 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 06:58:31 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 06:58:31 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmphjrrmwwi ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmphjrrmwwi +Wed Apr 10 06:58:32 2024 - INFO - unsupported package manager: dnf +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmphjrrmwwi ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmphjrrmwwi +Wed Apr 10 06:59:31 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 06:59:31 2024 - INFO - Finish environment cleanup! -- Gitee From cf8c8a48771a915705ef4a12334bd1eb24a66b0a Mon Sep 17 00:00:00 2001 From: weilinfox Date: Thu, 11 Apr 2024 14:59:59 +0800 Subject: [PATCH 2/4] Add 0.8.0 logs Signed-off-by: weilinfox --- ...13\350\257\225\347\273\223\346\236\234.md" | 105 + ...13\350\257\225\347\273\223\346\236\234.md" | 102 + .../ruyi_test_admin/2024-04-10-12_56_58.log | 207 ++ .../2024-04-10-11_58_05.log | 2863 ++++++++++++++++ .../2024-04-10-10_08_49.log | 667 ++++ .../ruyi_test_common/2024-04-10-13_36_06.log | 906 +++++ .../ruyi_test_config/2024-04-10-13_31_17.log | 255 ++ .../ruyi_test_device/2024-04-10-12_59_11.log | 2792 +++++++++++++++ .../2024-04-10-13_21_51.tar.gz | Bin 0 -> 6934 bytes .../2024-04-10-13_52_57.log | 299 ++ .../2024-04-10-13_22_10.log | 267 ++ .../ruyi_test_llvm/2024-04-10-12_54_42.log | 203 ++ .../ruyi_test_news/2024-04-10-11_39_08.log | 234 ++ .../ruyi_test_qemu/2024-04-10-13_33_52.log | 197 ++ .../ruyi_test_venv/2024-04-10-12_31_33.log | 268 ++ .../ruyi_test_xdg/2024-04-10-12_41_51.log | 650 ++++ .../2024-04-10-11_42_42.log | 297 ++ .../ruyi_test_admin/2024-04-10-02_32_49.log | 204 ++ .../2024-04-10-02_33_27.log | 2983 +++++++++++++++++ .../2024-04-10-02_56_58.log | 589 ++++ .../ruyi_test_common/2024-04-10-02_52_10.log | 922 +++++ .../ruyi_test_config/2024-04-10-02_20_40.log | 245 ++ .../ruyi_test_device/2024-04-10-02_10_13.log | 2747 +++++++++++++++ .../2024-04-10-02_20_34.tar.gz | Bin 0 -> 8894 bytes .../2024-04-10-03_21_26.log | 294 ++ .../2024-04-10-02_22_55.log | 276 ++ .../ruyi_test_llvm/2024-04-10-03_08_46.log | 325 ++ .../ruyi_test_news/2024-04-10-02_22_19.log | 239 ++ .../ruyi_test_qemu/2024-04-10-02_05_24.log | 302 ++ .../ruyi_test_venv/2024-04-10-02_47_17.log | 273 ++ .../ruyi_test_xdg/2024-04-10-02_43_53.log | 644 ++++ .../2024-04-10-02_26_11.log | 330 ++ 32 files changed, 20685 insertions(+) create mode 100644 "20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 "20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-12_56_58.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-11_58_05.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-10_08_49.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-13_36_06.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_31_17.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-12_59_11.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-13_21_51.tar.gz create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-13_52_57.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-13_22_10.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_llvm/2024-04-10-12_54_42.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_news/2024-04-10-11_39_08.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_qemu/2024-04-10-13_33_52.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_venv/2024-04-10-12_31_33.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_xdg/2024-04-10-12_41_51.log create mode 100644 20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-11_42_42.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_admin/2024-04-10-02_32_49.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_binaries/2024-04-10-02_33_27.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_56_58.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-02_52_10.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-02_20_40.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-02_10_13.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-02_20_34.tar.gz create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-03_21_26.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-02_22_55.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-03_08_46.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_22_19.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_05_24.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_47_17.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_43_53.log create mode 100644 20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-02_26_11.log diff --git "a/20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..97289a53 --- /dev/null +++ "b/20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_riscv64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,105 @@ +# RUYI 包管理 QEMU openEuler 23.09 riscv64 测试结果 + +本次测试基于 RUYI 0.8.1 版本预编译的 riscv64 架构版本二进制 [ruyi.riscv64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64) 。 + +编写了 mugen 测试用例,在 QEMU openEuler 23.09 riscv64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ openEuler 2309 riscv64 镜像使用软件所提供的镜像 [openEuler 2309 riscv64 base](https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/testing/20231130/v0.2/QEMU/openEuler-23.09-V1-base-qemu-testing.qcow2.zst) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 10:08:49 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 11:08:53 2024 - WARN - The case is still running, wait for another 15m. +Wed Apr 10 11:23:55 2024 - WARN - The case is still running, wait for another 15m. +Wed Apr 10 11:39:00 2024 - WARN - The case execution timeout. +Wed Apr 10 11:39:02 2024 - ERROR - The case exit by code 143. +Wed Apr 10 11:39:04 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 11:39:08 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 11:42:31 2024 - INFO - The case exit by code 0. +Wed Apr 10 11:42:35 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 11:42:41 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 11:57:58 2024 - INFO - The case exit by code 0. +Wed Apr 10 11:58:00 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 11:58:04 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 12:31:26 2024 - INFO - The case exit by code 0. +Wed Apr 10 12:31:28 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 12:31:32 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 12:41:44 2024 - INFO - The case exit by code 0. +Wed Apr 10 12:41:46 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 12:41:50 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 12:54:36 2024 - INFO - The case exit by code 0. +Wed Apr 10 12:54:38 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 12:54:42 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 12:56:49 2024 - INFO - The case exit by code 0. +Wed Apr 10 12:56:52 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 12:56:56 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 12:59:04 2024 - INFO - The case exit by code 0. +Wed Apr 10 12:59:06 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 12:59:10 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 13:22:04 2024 - INFO - The case exit by code 0. +Wed Apr 10 13:22:05 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 13:22:09 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 13:31:10 2024 - INFO - The case exit by code 0. +Wed Apr 10 13:31:12 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 13:31:16 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 13:33:46 2024 - INFO - The case exit by code 0. +Wed Apr 10 13:33:48 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 13:33:52 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 13:35:59 2024 - INFO - The case exit by code 0. +Wed Apr 10 13:36:01 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 13:36:05 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 13:52:51 2024 - INFO - The case exit by code 0. +Wed Apr 10 13:52:52 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 13:52:56 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 13:56:58 2024 - INFO - The case exit by code 0. +Wed Apr 10 13:57:00 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 13:57:01 2024 - INFO - A total of 14 use cases were executed, with 13 successes and 1 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 13 个测试用例成功 ++ 1 个测试用例失败 ++ 1 个测试用例超时 + +### 测试结论 + +此处添加测试结论 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/0.8.1/logs/oE2309-riscv64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git "a/20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" "b/20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" new file mode 100644 index 00000000..c1357a15 --- /dev/null +++ "b/20240408/0.8.1/RUYI_\345\214\205\347\256\241\347\220\206_QEMU_openEuler23.09_x86_64_\346\265\213\350\257\225\347\273\223\346\236\234.md" @@ -0,0 +1,102 @@ +# RUYI 包管理 QEMU openEuler 23.09 x86\_64 测试结果 + +本次测试基于 RUYI 0.8.1 版本预编译的 amd64 架构版本二进制 [ruyi.amd64](https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64) 。 + +编写了 mugen 测试用例,在 QEMU openEuler 23.09 x86\_64 开展测试。 + +## mugen 测试 + +### 测试环境说明 + ++ 由于 mugen 本身依赖 expect、 psmisc、 ping、 make、 python3、 python3-paramiko、 python3-six,故 mugen 自动化测试不能测试 RUYI 对这些软件包的依赖 ++ 由于 mugen 自身的特性,测试用例运行的顺序是随机的 ++ openEuler 2309 x86\_64 镜像使用 openEuler 提供的 QEMU 镜像 [openEuler-23.09-x86\_64](https://repo.openeuler.openatom.cn/openEuler-23.09/virtual_machine_img/x86_64/openEuler-23.09-x86_64.qcow2.xz) + +### 测试流程 + ++ 由 Jenkins CI Pipeline 自动触发测试 + +### 测试日志 + +```bash ++ sudo bash mugen.sh -f ruyi -x +Wed Apr 10 02:05:24 2024 - INFO - start to run testcase:ruyi_test_qemu. +Wed Apr 10 02:10:13 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:10:13 2024 - INFO - End to run testcase:ruyi_test_qemu. +Wed Apr 10 02:10:13 2024 - INFO - start to run testcase:ruyi_test_device. +Wed Apr 10 02:20:39 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:20:39 2024 - INFO - End to run testcase:ruyi_test_device. +Wed Apr 10 02:20:40 2024 - INFO - start to run testcase:ruyi_test_config. +Wed Apr 10 02:22:19 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:22:19 2024 - INFO - End to run testcase:ruyi_test_config. +Wed Apr 10 02:22:19 2024 - INFO - start to run testcase:ruyi_test_news. +Wed Apr 10 02:22:55 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:22:55 2024 - INFO - End to run testcase:ruyi_test_news. +Wed Apr 10 02:22:55 2024 - INFO - start to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 02:26:11 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:26:11 2024 - INFO - End to run testcase:ruyi_test_gnu-plct_xiangshan-nanhu. +Wed Apr 10 02:26:11 2024 - INFO - start to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 02:32:48 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:32:48 2024 - INFO - End to run testcase:ruyi_test_xthead_qemu. +Wed Apr 10 02:32:49 2024 - INFO - start to run testcase:ruyi_test_admin. +Wed Apr 10 02:33:27 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:33:27 2024 - INFO - End to run testcase:ruyi_test_admin. +Wed Apr 10 02:33:27 2024 - INFO - start to run testcase:ruyi_test_binaries. +Wed Apr 10 02:43:53 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:43:53 2024 - INFO - End to run testcase:ruyi_test_binaries. +Wed Apr 10 02:43:53 2024 - INFO - start to run testcase:ruyi_test_xdg. +Wed Apr 10 02:47:17 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:47:17 2024 - INFO - End to run testcase:ruyi_test_xdg. +Wed Apr 10 02:47:17 2024 - INFO - start to run testcase:ruyi_test_venv. +Wed Apr 10 02:52:10 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:52:10 2024 - INFO - End to run testcase:ruyi_test_venv. +Wed Apr 10 02:52:10 2024 - INFO - start to run testcase:ruyi_test_common. +Wed Apr 10 02:56:58 2024 - INFO - The case exit by code 0. +Wed Apr 10 02:56:58 2024 - INFO - End to run testcase:ruyi_test_common. +Wed Apr 10 02:56:58 2024 - INFO - start to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 03:08:46 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:08:46 2024 - INFO - End to run testcase:ruyi_test_cmake_ninja. +Wed Apr 10 03:08:46 2024 - INFO - start to run testcase:ruyi_test_llvm. +Wed Apr 10 03:21:26 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:21:26 2024 - INFO - End to run testcase:ruyi_test_llvm. +Wed Apr 10 03:21:26 2024 - INFO - start to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 03:24:20 2024 - INFO - The case exit by code 0. +Wed Apr 10 03:24:20 2024 - INFO - End to run testcase:ruyi_test_gnu-plct-rv64ilp32-elf. +Wed Apr 10 03:24:20 2024 - INFO - A total of 14 use cases were executed, with 14 successes and 0 failures. +``` + +### 测试结果 + +共测试了 1 个测试套, 14 个测试用例,其中 + ++ 14 个测试用例成功 ++ 0 个测试用例失败 ++ 0 个测试用例超时 + +### 测试结论 + +没有发现问题 + +### 测试用例列表 + +| 测试套/软件包名 | 测试用例名 | 测试内容 | +| :-: | :-: | :-: | +| ruyi | ruyi\_test\_common | 基本命令测试 | +| | ruyi\_test\_xdg | ``XDG_*_HOME`` 环境变量测试 | +| | ruyi\_test\_venv | ``venv`` 命令测试 | +| | ruyi\_test\_admin | ``admin`` 命令测试 | +| | ruyi\_test\_cmake\_ninja | ``make`` 、 ``cmake`` 、 ``ninja`` 构建测试 | +| | ruyi\_test\_qemu | QEMU 支持测试 | +| | ruyi\_test\_xthead\_qemu | 平头哥 QEMU 支持测试 | +| | ruyi\_test\_llvm | LLVM 支持测试 | +| | ruyi\_test\_news | ``news`` 命令测试 | +| | ruyi\_test\_device | ``device`` 命令测试 | +| | ruyi\_test\_gnu-plct-rv64ilp32-elf | ``gnu-plct-rv64ilp32-elf`` 工具链测试 | +| | ruyi\_test\_config | config.toml 配置文件测试 | +| | ruyi\_test\_binaries | 二进制包测试 | + +### 其他信息 + ++ Jenkins CI [日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/logs/jenkins/) ++ 完整测试[日志](https://gitee.com/yunxiangluo/ruyisdk-test/tree/master/20240408/0.8.1/logs/oE2309-x86_64-qemu/) ++ 视频录像 ![](https://gitee.com/yunxiangluo/ruyisdk-test/raw/master/20240408/logs/jenkins/0.8.0_test.mp4) diff --git a/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-12_56_58.log b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-12_56_58.log new file mode 100644 index 00000000..2b43dd3c --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_admin/2024-04-10-12_56_58.log @@ -0,0 +1,207 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 12:57:02 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 12:57:27 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 12:57:34 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 12:57:40 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 47 20.8M 47 10.0M 0 0 2761k 0 0:00:07 0:00:03 0:00:04 2775k 93 20.8M 93 19.5M 0 0 3768k 0 0:00:05 0:00:05 --:--:-- 3781k 100 20.8M 100 20.8M 0 0 3875k 0 0:00:05 0:00:05 --:--:-- 3888k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 12:57:50 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 12:57:52 2024 - INFO - Start to run test. ++ test_file=ruyi_test_admin.sh ++ ruyi admin manifest ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format json ruyi_test_admin.sh +[ + { + "name": "ruyi_test_admin.sh", + "size": 1504, + "checksums": { + "sha256": "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449", + "sha512": "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" + } + } +] ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest json format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest json format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi admin manifest --format toml ruyi_test_admin.sh +[[distfiles]] +name = "ruyi_test_admin.sh" +size = 1504 + +[distfiles.checksums] +sha256 = "8bc13ac75cf26ffdc1bbba552801b6d0f9fee0b808c37e851f92be3dba3ab449" +sha512 = "9e45e6ed0f1df29d1260dcf55eef7c6671864416f6f00224584f3e3b662df671b0fa2e7834f0aff5ff203e0361e549c805703f70e540c930dc0344327b8ddd92" ++ CHECK_RESULT 0 0 0 'Check ruyi admin manifest toml format failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi admin manifest toml format failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 12:58:53 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 12:58:55 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 12:58:57 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 12:58:59 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 12:59:02 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-11_58_05.log b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-11_58_05.log new file mode 100644 index 00000000..37d5ba7a --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_binaries/2024-04-10-11_58_05.log @@ -0,0 +1,2863 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 11:58:09 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 11:58:38 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 11:58:45 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 11:58:52 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 20.8M 0 159k 0 0 64916 0 0:05:37 0:00:02 0:05:35 65484 2 20.8M 2 639k 0 0 182k 0 0:01:57 0:00:03 0:01:54 183k 3 20.8M 3 783k 0 0 171k 0 0:02:04 0:00:04 0:02:00 172k 4 20.8M 4 863k 0 0 154k 0 0:02:18 0:00:05 0:02:13 204k 4 20.8M 4 911k 0 0 133k 0 0:02:40 0:00:06 0:02:34 171k 4 20.8M 4 959k 0 0 126k 0 0:02:49 0:00:07 0:02:42 157k 4 20.8M 4 1023k 0 0 116k 0 0:03:02 0:00:08 0:02:54 75112 5 20.8M 5 1071k 0 0 112k 0 0:03:10 0:00:09 0:03:01 59219 5 20.8M 5 1215k 0 0 115k 0 0:03:05 0:00:10 0:02:55 72685 6 20.8M 6 1407k 0 0 121k 0 0:02:55 0:00:11 0:02:44 105k 7 20.8M 7 1503k 0 0 120k 0 0:02:58 0:00:12 0:02:46 110k 8 20.8M 8 1727k 0 0 127k 0 0:02:47 0:00:13 0:02:34 146k 9 20.8M 9 2047k 0 0 140k 0 0:02:31 0:00:14 0:02:17 194k 9 20.8M 9 2127k 0 0 136k 0 0:02:36 0:00:15 0:02:21 181k 10 20.8M 10 2223k 0 0 134k 0 0:02:38 0:00:16 0:02:22 163k 10 20.8M 10 2319k 0 0 132k 0 0:02:41 0:00:17 0:02:24 162k 11 20.8M 11 2383k 0 0 128k 0 0:02:46 0:00:18 0:02:28 131k 11 20.8M 11 2415k 0 0 123k 0 0:02:52 0:00:19 0:02:33 75642 11 20.8M 11 2463k 0 0 118k 0 0:03:00 0:00:20 0:02:40 66302 11 20.8M 11 2495k 0 0 115k 0 0:03:04 0:00:21 0:02:43 55757 12 20.8M 12 2687k 0 0 119k 0 0:02:59 0:00:22 0:02:37 75650 13 20.8M 13 2847k 0 0 120k 0 0:02:56 0:00:23 0:02:33 94663 13 20.8M 13 2975k 0 0 120k 0 0:02:56 0:00:24 0:02:32 110k 14 20.8M 14 3023k 0 0 117k 0 0:03:02 0:00:25 0:02:37 112k 14 20.8M 14 3055k 0 0 115k 0 0:03:05 0:00:26 0:02:39 112k 14 20.8M 14 3135k 0 0 113k 0 0:03:07 0:00:27 0:02:40 91475 14 20.8M 14 3199k 0 0 111k 0 0:03:11 0:00:28 0:02:43 71361 15 20.8M 15 3279k 0 0 111k 0 0:03:12 0:00:29 0:02:43 63057 15 20.8M 15 3359k 0 0 109k 0 0:03:14 0:00:30 0:02:44 70675 16 20.8M 16 3423k 0 0 108k 0 0:03:17 0:00:31 0:02:46 73567 16 20.8M 16 3471k 0 0 106k 0 0:03:21 0:00:32 0:02:49 67177 16 20.8M 16 3503k 0 0 104k 0 0:03:24 0:00:33 0:02:51 63198 17 20.8M 17 3647k 0 0 105k 0 0:03:22 0:00:34 0:02:48 74928 17 20.8M 17 3727k 0 0 104k 0 0:03:23 0:00:35 0:02:48 76564 17 20.8M 17 3807k 0 0 104k 0 0:03:25 0:00:36 0:02:49 80428 18 20.8M 18 3967k 0 0 105k 0 0:03:22 0:00:37 0:02:45 102k 18 20.8M 18 3999k 0 0 103k 0 0:03:26 0:00:38 0:02:48 98k 18 20.8M 18 4031k 0 0 102k 0 0:03:29 0:00:39 0:02:50 79421 19 20.8M 19 4095k 0 0 101k 0 0:03:31 0:00:40 0:02:51 75392 19 20.8M 19 4175k 0 0 100k 0 0:03:32 0:00:41 0:02:51 75114 19 20.8M 19 4255k 0 0 100k 0 0:03:33 0:00:42 0:02:51 58935 20 20.8M 20 4335k 0 0 99k 0 0:03:35 0:00:43 0:02:52 66540 21 20.8M 21 4575k 0 0 102k 0 0:03:28 0:00:44 0:02:44 108k 22 20.8M 22 4815k 0 0 105k 0 0:03:22 0:00:45 0:02:37 144k 24 20.8M 24 5151k 0 0 110k 0 0:03:13 0:00:46 0:02:27 195k 24 20.8M 24 5215k 0 0 109k 0 0:03:14 0:00:47 0:02:27 192k 24 20.8M 24 5327k 0 0 109k 0 0:03:15 0:00:48 0:02:27 202k 25 20.8M 25 5375k 0 0 108k 0 0:03:17 0:00:49 0:02:28 155k 25 20.8M 25 5455k 0 0 107k 0 0:03:18 0:00:50 0:02:28 127k 25 20.8M 25 5551k 0 0 107k 0 0:03:18 0:00:51 0:02:27 82236 26 20.8M 26 5631k 0 0 107k 0 0:03:19 0:00:52 0:02:27 84908 26 20.8M 26 5663k 0 0 105k 0 0:03:23 0:00:53 0:02:30 66239 26 20.8M 26 5759k 0 0 105k 0 0:03:22 0:00:54 0:02:28 80842 27 20.8M 27 5807k 0 0 104k 0 0:03:24 0:00:55 0:02:29 72248 27 20.8M 27 5919k 0 0 104k 0 0:03:24 0:00:56 0:02:28 75227 27 20.8M 27 5967k 0 0 103k 0 0:03:26 0:00:57 0:02:29 68940 28 20.8M 28 6079k 0 0 103k 0 0:03:25 0:00:58 0:02:27 90289 29 20.8M 29 6271k 0 0 105k 0 0:03:22 0:00:59 0:02:23 102k 30 20.8M 30 6479k 0 0 107k 0 0:03:19 0:01:00 0:02:19 134k 31 20.8M 31 6751k 0 0 109k 0 0:03:14 0:01:01 0:02:13 166k 33 20.8M 33 7199k 0 0 115k 0 0:03:05 0:01:02 0:02:03 246k 35 20.8M 35 7503k 0 0 118k 0 0:03:01 0:01:03 0:01:58 285k 36 20.8M 36 7759k 0 0 120k 0 0:02:57 0:01:04 0:01:53 298k 37 20.8M 37 8063k 0 0 123k 0 0:02:53 0:01:05 0:01:48 317k 39 20.8M 39 8415k 0 0 126k 0 0:02:49 0:01:06 0:01:43 332k 41 20.8M 41 8767k 0 0 129k 0 0:02:44 0:01:07 0:01:37 312k 44 20.8M 44 9487k 0 0 138k 0 0:02:34 0:01:08 0:01:26 397k 51 20.8M 51 10.7M 0 0 158k 0 0:02:14 0:01:09 0:01:05 652k 62 20.8M 62 13.0M 0 0 189k 0 0:01:52 0:01:10 0:00:42 1060k 75 20.8M 75 15.7M 0 0 225k 0 0:01:34 0:01:11 0:00:23 1548k 89 20.8M 89 18.6M 0 0 263k 0 0:01:21 0:01:12 0:00:09 2080k 100 20.8M 100 20.8M 0 0 291k 0 0:01:13 0:01:13 --:--:-- 2500k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 12:00:08 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 12:00:10 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting +objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting +objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi udpate failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi udpate failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for i in toolchain emulator ++ test_oneshot toolchain ++ local ret retc bp bpb +++ ruyi list +++ grep toolchain +++ sed 's/^* toolchain\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 224M 0 2896 0 0 1919 0 34:03:40 0:00:01 34:03:39 1941 1 224M 1 4520k 0 0 1786k 0 0:02:08 0:00:02 0:02:06 1797k 3 224M 3 7976k 0 0 2273k 0 0:01:41 0:00:03 0:01:38 2284k 5 224M 5 11.5M 0 0 2619k 0 0:01:27 0:00:04 0:01:23 2628k 6 224M 6 14.8M 0 0 2764k 0 0:01:23 0:00:05 0:01:18 3607k 8 224M 8 18.3M 0 0 2892k 0 0:01:19 0:00:06 0:01:13 3764k 9 224M 9 22.0M 0 0 3002k 0 0:01:16 0:00:07 0:01:09 3618k 11 224M 11 26.3M 0 0 3175k 0 0:01:12 0:00:08 0:01:04 3808k 14 224M 14 31.7M 0 0 3403k 0 0:01:07 0:00:09 0:00:58 4104k 16 224M 16 36.3M 0 0 3536k 0 0:01:04 0:00:10 0:00:54 4385k 18 224M 18 41.2M 0 0 3661k 0 0:01:02 0:00:11 0:00:51 4661k 20 224M 20 46.2M 0 0 3786k 0 0:01:00 0:00:12 0:00:48 4968k 23 224M 23 52.0M 0 0 3900k 0 0:00:58 0:00:13 0:00:45 5099k 24 224M 24 55.8M 0 0 3942k 0 0:00:58 0:00:14 0:00:44 4980k 27 224M 27 60.7M 0 0 4011k 0 0:00:57 0:00:15 0:00:42 5013k 28 224M 28 64.9M 0 0 4027k 0 0:00:57 0:00:16 0:00:41 4871k 30 224M 30 68.3M 0 0 3993k 0 0:00:57 0:00:17 0:00:40 4510k 32 224M 32 72.0M 0 0 3981k 0 0:00:57 0:00:18 0:00:39 4210k 33 224M 33 76.2M 0 0 3995k 0 0:00:57 0:00:19 0:00:38 4151k 36 224M 36 81.0M 0 0 4042k 0 0:00:56 0:00:20 0:00:36 4141k 38 224M 38 86.2M 0 0 4105k 0 0:00:55 0:00:21 0:00:34 4365k 41 224M 41 94.2M 0 0 4220k 0 0:00:54 0:00:22 0:00:32 4964k 43 224M 43 97.7M 0 0 4258k 0 0:00:53 0:00:23 0:00:30 5282k 45 224M 45 102M 0 0 4288k 0 0:00:53 0:00:24 0:00:29 5433k 47 224M 47 106M 0 0 4294k 0 0:00:53 0:00:25 0:00:28 5326k 49 224M 49 111M 0 0 4316k 0 0:00:53 0:00:26 0:00:27 5221k 51 224M 51 115M 0 0 4310k 0 0:00:53 0:00:27 0:00:26 4751k 53 224M 53 119M 0 0 4279k 0 0:00:53 0:00:28 0:00:25 4381k 54 224M 54 122M 0 0 4243k 0 0:00:54 0:00:29 0:00:25 4024k 56 224M 56 125M 0 0 4218k 0 0:00:54 0:00:30 0:00:24 3830k 57 224M 57 130M 0 0 4224k 0 0:00:54 0:00:31 0:00:23 3736k 59 224M 59 134M 0 0 4229k 0 0:00:54 0:00:32 0:00:22 3783k 61 224M 61 138M 0 0 4231k 0 0:00:54 0:00:33 0:00:21 3960k 63 224M 63 143M 0 0 4236k 0 0:00:54 0:00:34 0:00:20 4192k 65 224M 65 146M 0 0 4221k 0 0:00:54 0:00:35 0:00:19 4246k 67 224M 67 150M 0 0 4225k 0 0:00:54 0:00:36 0:00:18 4234k 69 224M 69 155M 0 0 4233k 0 0:00:54 0:00:37 0:00:17 4262k 70 224M 70 158M 0 0 4226k 0 0:00:54 0:00:38 0:00:16 4190k 72 224M 72 162M 0 0 4213k 0 0:00:54 0:00:39 0:00:15 4058k 73 224M 73 165M 0 0 4186k 0 0:00:54 0:00:40 0:00:14 3936k 75 224M 75 168M 0 0 4163k 0 0:00:55 0:00:41 0:00:14 3703k 76 224M 76 171M 0 0 4133k 0 0:00:55 0:00:42 0:00:13 3364k 77 224M 77 174M 0 0 4100k 0 0:00:56 0:00:43 0:00:13 3128k 78 224M 78 176M 0 0 4054k 0 0:00:56 0:00:44 0:00:12 2796k 79 224M 79 178M 0 0 4021k 0 0:00:57 0:00:45 0:00:12 2678k 80 224M 80 181M 0 0 4000k 0 0:00:57 0:00:46 0:00:11 2652k 82 224M 82 185M 0 0 3996k 0 0:00:57 0:00:47 0:00:10 2831k 83 224M 83 188M 0 0 3971k 0 0:00:57 0:00:48 0:00:09 2851k 85 224M 85 191M 0 0 3953k 0 0:00:58 0:00:49 0:00:09 3058k 86 224M 86 194M 0 0 3942k 0 0:00:58 0:00:50 0:00:08 3229k 88 224M 88 198M 0 0 3947k 0 0:00:58 0:00:51 0:00:07 3449k 90 224M 90 202M 0 0 3949k 0 0:00:58 0:00:52 0:00:06 3499k 91 224M 91 206M 0 0 3943k 0 0:00:58 0:00:53 0:00:05 3670k 93 224M 93 209M 0 0 3930k 0 0:00:58 0:00:54 0:00:04 3694k 94 224M 94 212M 0 0 3927k 0 0:00:58 0:00:55 0:00:03 3778k 96 224M 96 216M 0 0 3928k 0 0:00:58 0:00:56 0:00:02 3741k 98 224M 98 220M 0 0 3918k 0 0:00:58 0:00:57 0:00:01 3593k 99 224M 99 223M 0 0 3907k 0 0:00:58 0:00:58 --:--:-- 3520k 100 224M 100 224M 0 0 3905k 0 0:00:58 0:00:58 --:--:-- 3600k +info: extracting +RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g +nu.tar.xz for package gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 224M 0 2896 0 0 1919 0 34:03:40 0:00:01 34:03:39 $'1941\r' 1 224M 1 4520k 0 0 1786k 0 0:02:08 0:00:02 0:02:06 $'1797k\r' 3 224M 3 7976k 0 0 2273k 0 0:01:41 0:00:03 0:01:38 $'2284k\r' 5 224M 5 11.5M 0 0 2619k 0 0:01:27 0:00:04 0:01:23 $'2628k\r' 6 224M 6 14.8M 0 0 2764k 0 0:01:23 0:00:05 0:01:18 $'3607k\r' 8 224M 8 18.3M 0 0 2892k 0 0:01:19 0:00:06 0:01:13 $'3764k\r' 9 224M 9 22.0M 0 0 3002k 0 0:01:16 0:00:07 0:01:09 $'3618k\r' 11 224M 11 26.3M 0 0 3175k 0 0:01:12 0:00:08 0:01:04 $'3808k\r' 14 224M 14 31.7M 0 0 3403k 0 0:01:07 0:00:09 0:00:58 $'4104k\r' 16 224M 16 36.3M 0 0 3536k 0 0:01:04 0:00:10 0:00:54 $'4385k\r' 18 224M 18 41.2M 0 0 3661k 0 0:01:02 0:00:11 0:00:51 $'4661k\r' 20 224M 20 46.2M 0 0 3786k 0 0:01:00 0:00:12 0:00:48 $'4968k\r' 23 224M 23 52.0M 0 0 3900k 0 0:00:58 0:00:13 0:00:45 $'5099k\r' 24 224M 24 55.8M 0 0 3942k 0 0:00:58 0:00:14 0:00:44 $'4980k\r' 27 224M 27 60.7M 0 0 4011k 0 0:00:57 0:00:15 0:00:42 $'5013k\r' 28 224M 28 64.9M 0 0 4027k 0 0:00:57 0:00:16 0:00:41 $'4871k\r' 30 224M 30 68.3M 0 0 3993k 0 0:00:57 0:00:17 0:00:40 $'4510k\r' 32 224M 32 72.0M 0 0 3981k 0 0:00:57 0:00:18 0:00:39 $'4210k\r' 33 224M 33 76.2M 0 0 3995k 0 0:00:57 0:00:19 0:00:38 $'4151k\r' 36 224M 36 81.0M 0 0 4042k 0 0:00:56 0:00:20 0:00:36 $'4141k\r' 38 224M 38 86.2M 0 0 4105k 0 0:00:55 0:00:21 0:00:34 $'4365k\r' 41 224M 41 94.2M 0 0 4220k 0 0:00:54 0:00:22 0:00:32 $'4964k\r' 43 224M 43 97.7M 0 0 4258k 0 0:00:53 0:00:23 0:00:30 $'5282k\r' 45 224M 45 102M 0 0 4288k 0 0:00:53 0:00:24 0:00:29 $'5433k\r' 47 224M 47 106M 0 0 4294k 0 0:00:53 0:00:25 0:00:28 $'5326k\r' 49 224M 49 111M 0 0 4316k 0 0:00:53 0:00:26 0:00:27 $'5221k\r' 51 224M 51 115M 0 0 4310k 0 0:00:53 0:00:27 0:00:26 $'4751k\r' 53 224M 53 119M 0 0 4279k 0 0:00:53 0:00:28 0:00:25 $'4381k\r' 54 224M 54 122M 0 0 4243k 0 0:00:54 0:00:29 0:00:25 $'4024k\r' 56 224M 56 125M 0 0 4218k 0 0:00:54 0:00:30 0:00:24 $'3830k\r' 57 224M 57 130M 0 0 4224k 0 0:00:54 0:00:31 0:00:23 $'3736k\r' 59 224M 59 134M 0 0 4229k 0 0:00:54 0:00:32 0:00:22 $'3783k\r' 61 224M 61 138M 0 0 4231k 0 0:00:54 0:00:33 0:00:21 $'3960k\r' 63 224M 63 143M 0 0 4236k 0 0:00:54 0:00:34 0:00:20 $'4192k\r' 65 224M 65 146M 0 0 4221k 0 0:00:54 0:00:35 0:00:19 $'4246k\r' 67 224M 67 150M 0 0 4225k 0 0:00:54 0:00:36 0:00:18 $'4234k\r' 69 224M 69 155M 0 0 4233k 0 0:00:54 0:00:37 0:00:17 $'4262k\r' 70 224M 70 158M 0 0 4226k 0 0:00:54 0:00:38 0:00:16 $'4190k\r' 72 224M 72 162M 0 0 4213k 0 0:00:54 0:00:39 0:00:15 $'4058k\r' 73 224M 73 165M 0 0 4186k 0 0:00:54 0:00:40 0:00:14 $'3936k\r' 75 224M 75 168M 0 0 4163k 0 0:00:55 0:00:41 0:00:14 $'3703k\r' 76 224M 76 171M 0 0 4133k 0 0:00:55 0:00:42 0:00:13 $'3364k\r' 77 224M 77 174M 0 0 4100k 0 0:00:56 0:00:43 0:00:13 $'3128k\r' 78 224M 78 176M 0 0 4054k 0 0:00:56 0:00:44 0:00:12 $'2796k\r' 79 224M 79 178M 0 0 4021k 0 0:00:57 0:00:45 0:00:12 $'2678k\r' 80 224M 80 181M 0 0 4000k 0 0:00:57 0:00:46 0:00:11 $'2652k\r' 82 224M 82 185M 0 0 3996k 0 0:00:57 0:00:47 0:00:10 $'2831k\r' 83 224M 83 188M 0 0 3971k 0 0:00:57 0:00:48 0:00:09 $'2851k\r' 85 224M 85 191M 0 0 3953k 0 0:00:58 0:00:49 0:00:09 $'3058k\r' 86 224M 86 194M 0 0 3942k 0 0:00:58 0:00:50 0:00:08 $'3229k\r' 88 224M 88 198M 0 0 3947k 0 0:00:58 0:00:51 0:00:07 $'3449k\r' 90 224M 90 202M 0 0 3949k 0 0:00:58 0:00:52 0:00:06 $'3499k\r' 91 224M 91 206M 0 0 3943k 0 0:00:58 0:00:53 0:00:05 $'3670k\r' 93 224M 93 209M 0 0 3930k 0 0:00:58 0:00:54 0:00:04 $'3694k\r' 94 224M 94 212M 0 0 3927k 0 0:00:58 0:00:55 0:00:03 $'3778k\r' 96 224M 96 216M 0 0 3928k 0 0:00:58 0:00:56 0:00:02 $'3741k\r' 98 224M 98 220M 0 0 3918k 0 0:00:58 0:00:57 0:00:01 $'3593k\r' 99 224M 99 223M 0 0 3907k 0 0:00:58 0:00:58 --:--:-- $'3520k\r100' 224M 100 224M 0 0 3905k 0 0:00:58 0:00:58 --:--:-- 3600k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bp=/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ bpb=/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 224M 0 2896 0 0 1919 0 34:03:40 0:00:01 34:03:39 $'1941\r' 1 224M 1 4520k 0 0 1786k 0 0:02:08 0:00:02 0:02:06 $'1797k\r' 3 224M 3 7976k 0 0 2273k 0 0:01:41 0:00:03 0:01:38 $'2284k\r' 5 224M 5 11.5M 0 0 2619k 0 0:01:27 0:00:04 0:01:23 $'2628k\r' 6 224M 6 14.8M 0 0 2764k 0 0:01:23 0:00:05 0:01:18 $'3607k\r' 8 224M 8 18.3M 0 0 2892k 0 0:01:19 0:00:06 0:01:13 $'3764k\r' 9 224M 9 22.0M 0 0 3002k 0 0:01:16 0:00:07 0:01:09 $'3618k\r' 11 224M 11 26.3M 0 0 3175k 0 0:01:12 0:00:08 0:01:04 $'3808k\r' 14 224M 14 31.7M 0 0 3403k 0 0:01:07 0:00:09 0:00:58 $'4104k\r' 16 224M 16 36.3M 0 0 3536k 0 0:01:04 0:00:10 0:00:54 $'4385k\r' 18 224M 18 41.2M 0 0 3661k 0 0:01:02 0:00:11 0:00:51 $'4661k\r' 20 224M 20 46.2M 0 0 3786k 0 0:01:00 0:00:12 0:00:48 $'4968k\r' 23 224M 23 52.0M 0 0 3900k 0 0:00:58 0:00:13 0:00:45 $'5099k\r' 24 224M 24 55.8M 0 0 3942k 0 0:00:58 0:00:14 0:00:44 $'4980k\r' 27 224M 27 60.7M 0 0 4011k 0 0:00:57 0:00:15 0:00:42 $'5013k\r' 28 224M 28 64.9M 0 0 4027k 0 0:00:57 0:00:16 0:00:41 $'4871k\r' 30 224M 30 68.3M 0 0 3993k 0 0:00:57 0:00:17 0:00:40 $'4510k\r' 32 224M 32 72.0M 0 0 3981k 0 0:00:57 0:00:18 0:00:39 $'4210k\r' 33 224M 33 76.2M 0 0 3995k 0 0:00:57 0:00:19 0:00:38 $'4151k\r' 36 224M 36 81.0M 0 0 4042k 0 0:00:56 0:00:20 0:00:36 $'4141k\r' 38 224M 38 86.2M 0 0 4105k 0 0:00:55 0:00:21 0:00:34 $'4365k\r' 41 224M 41 94.2M 0 0 4220k 0 0:00:54 0:00:22 0:00:32 $'4964k\r' 43 224M 43 97.7M 0 0 4258k 0 0:00:53 0:00:23 0:00:30 $'5282k\r' 45 224M 45 102M 0 0 4288k 0 0:00:53 0:00:24 0:00:29 $'5433k\r' 47 224M 47 106M 0 0 4294k 0 0:00:53 0:00:25 0:00:28 $'5326k\r' 49 224M 49 111M 0 0 4316k 0 0:00:53 0:00:26 0:00:27 $'5221k\r' 51 224M 51 115M 0 0 4310k 0 0:00:53 0:00:27 0:00:26 $'4751k\r' 53 224M 53 119M 0 0 4279k 0 0:00:53 0:00:28 0:00:25 $'4381k\r' 54 224M 54 122M 0 0 4243k 0 0:00:54 0:00:29 0:00:25 $'4024k\r' 56 224M 56 125M 0 0 4218k 0 0:00:54 0:00:30 0:00:24 $'3830k\r' 57 224M 57 130M 0 0 4224k 0 0:00:54 0:00:31 0:00:23 $'3736k\r' 59 224M 59 134M 0 0 4229k 0 0:00:54 0:00:32 0:00:22 $'3783k\r' 61 224M 61 138M 0 0 4231k 0 0:00:54 0:00:33 0:00:21 $'3960k\r' 63 224M 63 143M 0 0 4236k 0 0:00:54 0:00:34 0:00:20 $'4192k\r' 65 224M 65 146M 0 0 4221k 0 0:00:54 0:00:35 0:00:19 $'4246k\r' 67 224M 67 150M 0 0 4225k 0 0:00:54 0:00:36 0:00:18 $'4234k\r' 69 224M 69 155M 0 0 4233k 0 0:00:54 0:00:37 0:00:17 $'4262k\r' 70 224M 70 158M 0 0 4226k 0 0:00:54 0:00:38 0:00:16 $'4190k\r' 72 224M 72 162M 0 0 4213k 0 0:00:54 0:00:39 0:00:15 $'4058k\r' 73 224M 73 165M 0 0 4186k 0 0:00:54 0:00:40 0:00:14 $'3936k\r' 75 224M 75 168M 0 0 4163k 0 0:00:55 0:00:41 0:00:14 $'3703k\r' 76 224M 76 171M 0 0 4133k 0 0:00:55 0:00:42 0:00:13 $'3364k\r' 77 224M 77 174M 0 0 4100k 0 0:00:56 0:00:43 0:00:13 $'3128k\r' 78 224M 78 176M 0 0 4054k 0 0:00:56 0:00:44 0:00:12 $'2796k\r' 79 224M 79 178M 0 0 4021k 0 0:00:57 0:00:45 0:00:12 $'2678k\r' 80 224M 80 181M 0 0 4000k 0 0:00:57 0:00:46 0:00:11 $'2652k\r' 82 224M 82 185M 0 0 3996k 0 0:00:57 0:00:47 0:00:10 $'2831k\r' 83 224M 83 188M 0 0 3971k 0 0:00:57 0:00:48 0:00:09 $'2851k\r' 85 224M 85 191M 0 0 3953k 0 0:00:58 0:00:49 0:00:09 $'3058k\r' 86 224M 86 194M 0 0 3942k 0 0:00:58 0:00:50 0:00:08 $'3229k\r' 88 224M 88 198M 0 0 3947k 0 0:00:58 0:00:51 0:00:07 $'3449k\r' 90 224M 90 202M 0 0 3949k 0 0:00:58 0:00:52 0:00:06 $'3499k\r' 91 224M 91 206M 0 0 3943k 0 0:00:58 0:00:53 0:00:05 $'3670k\r' 93 224M 93 209M 0 0 3930k 0 0:00:58 0:00:54 0:00:04 $'3694k\r' 94 224M 94 212M 0 0 3927k 0 0:00:58 0:00:55 0:00:03 $'3778k\r' 96 224M 96 216M 0 0 3928k 0 0:00:58 0:00:56 0:00:02 $'3741k\r' 98 224M 98 220M 0 0 3918k 0 0:00:58 0:00:57 0:00:01 $'3593k\r' 99 224M 99 223M 0 0 3907k 0 0:00:58 0:00:58 --:--:-- $'3520k\r100' 224M 100 224M 0 0 3905k 0 0:00:58 0:00:58 --:--:-- 3600k info: extracting RuyiSDK-20231212-Upstream-Sources-HOST-riscv64-linux-gnu-riscv64-unknown-linux-g nu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=391434e33f87e32c04a833f394a7dbd3f14b3a78, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x0000003f9975b000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9968c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9948f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9975d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=28a2c4a90363f219abb83defddd63445538a834a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x0000003fa401b000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa3f47000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa3d4a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa401d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f41def98c13042b5220dad5162dd2eb3a811495f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x0000003faa096000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa9f44000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa9d47000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003faa098000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x0000003fa870f000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa8506000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa8711000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=da3be3303d0f9d7d4c4948c9bd15e68b8aa83eec, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003fb355e000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb3488000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb328b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb3560000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fcaca58ee7a1a2f07553792b7e3b57bdf68f25c0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x0000003f8deb9000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8dcb0000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8debb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=13778aa42f3926d92929c41875a156b2637e0842, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003fa2ae8000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa28d7000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa2aea000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=26d789ffa20a9312d6725bcd5dc79a84d623b9c8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x0000003f897a5000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8959c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f897a7000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x0000003f9eccd000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9eac4000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9eccf000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=e7927c02e7e2c342026255de59f02ca45986af74, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x0000003f92076000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f91e6d000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f92078000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a7869523b7b5bd15977ae296d89a01b9337b18e0, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003fa3def000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa3be6000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa3df1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fec6ba7e67e2b796cae6d18583d7103b5e4133c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003fadee8000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fadcdf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fadeea000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=1c82bbc49fab6681629a1431aeec1d04855c1c32, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003f9204d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f91e44000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9204f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep executable ++ grep ELF ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=050cdeeca3270025456bab5f997e0154c509e55c, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fbc1e2000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbbfd9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbc1e4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=ebcbdf88347e6618560497de6c5a942c1dac963f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003fbf43d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbf234000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbf43f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4fe76729a51d1ad5073097f0395d56e932e40a9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003f8ecae000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8eaa5000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8ecb0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=39d430c7c91236a80aeb0ff8d30ec49323919843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb + linux-vdso.so.1 (0x0000003fa4580000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa4571000) + libstdc++.so.6 => /lib/libstdc++.so.6 (0x0000003fa3800000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003fa44ea000) + libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0000003fa44d0000) + libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000003fa44cd000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa3603000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa4582000) + libatomic.so.1 => /lib/libatomic.so.1 (0x0000003fa44c2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8df03d0ff29ad796d26bec7b5be6bbe057b8eed5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003fb049b000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb0292000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb049d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3dacd56f955811af35ee820e706bd4491c1ccedd, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x0000003fa67f6000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa6718000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa651b000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa67f8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x0000003f8f27a000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f8f26b000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8ec03000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8f27c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d30b3e49d654762e8fc185f60bb18b11f56f39c9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003fa038a000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa037b000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9fe03000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa038c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=de67ace22e5e47dd1fa24f77a4ce762996e536d5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003f84270000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f84261000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003f841da000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f83fdd000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f84272000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep .so ++ grep -vE '\(0x' ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7b35f1643c3a8b49d13754b0bee237506d2945aa, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x0000003f9286e000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9279c000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9259f000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f92870000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=05cf9dc88c199de15f4f7443b0d8f8b75ce6f742, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003f9e81b000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9e733000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9e536000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9e81d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d67dba7ef971b967f32d1dab248cacfd3305e0e8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x0000003f976be000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9753d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f97340000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f976c0000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep dynamic ++ grep ELF ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8eddc0bb144eb9a0441696bcfeb2a264efa3ea6d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003fbd974000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fbd8a0000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbd6a3000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbd976000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep executable ++ grep ELF ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=a1bc95c06a4a904e4dff4887941078f71194df83, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x0000003f889ac000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f886ce000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f889ae000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5b08a6a2463fedb3c900720761d30059db644989, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x0000003f9b5b2000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9b4e3000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9b2e6000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9b5b4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7543658774ce7d14c706fda90f27ce8c165d642a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x0000003f95911000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f95841000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f95644000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f95913000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep .so ++ grep 'not found' ++ grep -vE '\(0x' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=136a562434f432d72472cb146736f6423df33d99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x0000003f9ce7d000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9cd95000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9cb98000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9ce7f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 +-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 231M 0 2896 0 0 1735 0 38:50:24 0:00:01 38:50:23 1757 0 231M 0 219k 0 0 83891 0 0:48:11 0:00:02 0:48:09 84552 0 231M 0 603k 0 0 163k 0 0:24:05 0:00:03 0:24:02 164k 0 231M 0 955k 0 0 204k 0 0:19:18 0:00:04 0:19:14 205k 0 231M 0 1323k 0 0 233k 0 0:16:54 0:00:05 0:16:49 309k 0 231M 0 1739k 0 0 260k 0 0:15:09 0:00:06 0:15:03 346k 0 231M 0 2027k 0 0 264k 0 0:14:54 0:00:07 0:14:47 362k 1 231M 1 2475k 0 0 285k 0 0:13:49 0:00:08 0:13:41 375k 1 231M 1 2987k 0 0 307k 0 0:12:49 0:00:09 0:12:40 403k 1 231M 1 3307k 0 0 309k 0 0:12:44 0:00:10 0:12:34 396k 1 231M 1 3707k 0 0 317k 0 0:12:25 0:00:11 0:12:14 394k 1 231M 1 4059k 0 0 320k 0 0:12:18 0:00:12 0:12:06 406k 1 231M 1 4299k 0 0 314k 0 0:12:33 0:00:13 0:12:20 363k 2 231M 2 4747k 0 0 323k 0 0:12:11 0:00:14 0:11:57 355k 2 231M 2 4987k 0 0 317k 0 0:12:25 0:00:15 0:12:10 334k 2 231M 2 5115k 0 0 306k 0 0:12:52 0:00:16 0:12:36 281k 2 231M 2 5291k 0 0 296k 0 0:13:19 0:00:17 0:13:02 237k 2 231M 2 5323k 0 0 284k 0 0:13:51 0:00:18 0:13:33 204k 2 231M 2 5355k 0 0 270k 0 0:14:34 0:00:19 0:14:15 119k 2 231M 2 5483k 0 0 265k 0 0:14:53 0:00:20 0:14:33 99k 2 231M 2 5739k 0 0 264k 0 0:14:55 0:00:21 0:14:34 124k 2 231M 2 6059k 0 0 267k 0 0:14:45 0:00:22 0:14:23 160k 2 231M 2 6107k 0 0 257k 0 0:15:21 0:00:23 0:14:58 154k 2 231M 2 6139k 0 0 248k 0 0:15:54 0:00:24 0:15:30 158k 2 231M 2 6219k 0 0 241k 0 0:16:21 0:00:25 0:15:56 145k 2 231M 2 6267k 0 0 232k 0 0:16:59 0:00:26 0:16:33 99k 2 231M 2 6363k 0 0 230k 0 0:17:09 0:00:27 0:16:42 62237 2 231M 2 6411k 0 0 223k 0 0:17:39 0:00:28 0:17:11 63280 2 231M 2 6459k 0 0 217k 0 0:18:08 0:00:29 0:17:39 66157 2 231M 2 6491k 0 0 211k 0 0:18:39 0:00:30 0:18:09 56857 2 231M 2 6539k 0 0 206k 0 0:19:07 0:00:31 0:18:36 59421 2 231M 2 6587k 0 0 201k 0 0:19:35 0:00:32 0:19:03 45656 2 231M 2 6651k 0 0 197k 0 0:20:02 0:00:33 0:19:29 48476 2 231M 2 6715k 0 0 193k 0 0:20:22 0:00:34 0:19:48 52660 2 231M 2 6763k 0 0 189k 0 0:20:49 0:00:35 0:20:14 55546 2 231M 2 6811k 0 0 185k 0 0:21:16 0:00:36 0:20:40 55256 2 231M 2 6827k 0 0 181k 0 0:21:48 0:00:37 0:21:11 48826 2 231M 2 6875k 0 0 177k 0 0:22:12 0:00:38 0:21:34 46460 2 231M 2 6907k 0 0 173k 0 0:22:42 0:00:39 0:22:03 38748 2 231M 2 6971k 0 0 171k 0 0:23:01 0:00:40 0:22:21 42730 2 231M 2 7035k 0 0 168k 0 0:23:23 0:00:41 0:22:42 46152 2 231M 2 7099k 0 0 166k 0 0:23:44 0:00:42 0:23:02 56045 3 231M 3 7163k 0 0 163k 0 0:24:04 0:00:43 0:23:21 58947 3 231M 3 7227k 0 0 161k 0 0:24:23 0:00:44 0:23:39 66466 3 231M 3 7323k 0 0 160k 0 0:24:37 0:00:45 0:23:52 72104 3 231M 3 7403k 0 0 158k 0 0:24:53 0:00:46 0:24:07 75362 3 231M 3 7675k 0 0 161k 0 0:24:30 0:00:47 0:23:43 115k 3 231M 3 7899k 0 0 162k 0 0:24:19 0:00:48 0:23:31 147k 3 231M 3 8091k 0 0 162k 0 0:24:13 0:00:49 0:23:24 173k 3 231M 3 8427k 0 0 166k 0 0:23:44 0:00:50 0:22:54 221k 3 231M 3 8763k 0 0 169k 0 0:23:16 0:00:51 0:22:25 272k 3 231M 3 8939k 0 0 169k 0 0:23:15 0:00:52 0:22:23 252k 3 231M 3 9211k 0 0 171k 0 0:22:59 0:00:53 0:22:06 263k 4 231M 4 9.7M 0 0 183k 0 0:21:33 0:00:54 0:20:39 384k 4 231M 4 11.2M 0 0 207k 0 0:19:00 0:00:55 0:18:05 626k 5 231M 5 13.4M 0 0 242k 0 0:16:17 0:00:56 0:15:21 994k 6 231M 6 15.8M 0 0 281k 0 0:14:02 0:00:57 0:13:05 1453k 7 231M 7 17.3M 0 0 302k 0 0:13:01 0:00:58 0:12:03 1711k 7 231M 7 18.4M 0 0 316k 0 0:12:28 0:00:59 0:11:29 1772k 8 231M 8 19.3M 0 0 326k 0 0:12:06 0:01:00 0:11:06 1645k 8 231M 8 20.5M 0 0 340k 0 0:11:35 0:01:01 0:10:34 1455k 9 231M 9 22.1M 0 0 361k 0 0:10:55 0:01:02 0:09:53 1286k 10 231M 10 23.3M 0 0 376k 0 0:10:29 0:01:03 0:09:26 1233k 10 231M 10 24.0M 0 0 381k 0 0:10:20 0:01:04 0:09:16 1157k 10 231M 10 25.1M 0 0 392k 0 0:10:03 0:01:05 0:08:58 1196k 11 231M 11 26.5M 0 0 407k 0 0:09:41 0:01:06 0:08:35 1227k 12 231M 12 28.0M 0 0 423k 0 0:09:18 0:01:07 0:08:11 1209k 12 231M 12 29.1M 0 0 434k 0 0:09:05 0:01:08 0:07:57 1174k 13 231M 13 30.3M 0 0 445k 0 0:08:51 0:01:09 0:07:42 1274k 13 231M 13 31.4M 0 0 455k 0 0:08:40 0:01:10 0:07:30 1276k 14 231M 14 32.4M 0 0 463k 0 0:08:30 0:01:11 0:07:19 1218k 14 231M 14 33.5M 0 0 472k 0 0:08:21 0:01:12 0:07:09 1132k 15 231M 15 34.8M 0 0 483k 0 0:08:09 0:01:13 0:06:56 1154k 15 231M 15 36.0M 0 0 494k 0 0:07:59 0:01:14 0:06:45 1170k 16 231M 16 37.3M 0 0 505k 0 0:07:48 0:01:15 0:06:33 1212k 16 231M 16 38.2M 0 0 510k 0 0:07:43 0:01:16 0:06:27 1181k 16 231M 16 39.3M 0 0 518k 0 0:07:36 0:01:17 0:06:19 1184k 17 231M 17 41.0M 0 0 534k 0 0:07:22 0:01:18 0:06:04 1297k 18 231M 18 43.2M 0 0 555k 0 0:07:06 0:01:19 0:05:47 1475k 19 231M 19 45.0M 0 0 571k 0 0:06:54 0:01:20 0:05:34 1580k 20 231M 20 46.9M 0 0 588k 0 0:06:42 0:01:21 0:05:21 1783k 21 231M 21 48.8M 0 0 605k 0 0:06:31 0:01:22 0:05:09 1958k 21 231M 21 49.8M 0 0 609k 0 0:06:28 0:01:23 0:05:05 1786k 21 231M 21 49.9M 0 0 604k 0 0:06:32 0:01:24 0:05:08 1375k 21 231M 21 50.1M 0 0 598k 0 0:06:35 0:01:25 0:05:10 1033k 21 231M 21 50.2M 0 0 593k 0 0:06:39 0:01:26 0:05:13 675k 21 231M 21 50.3M 0 0 588k 0 0:06:42 0:01:27 0:05:15 301k 21 231M 21 50.5M 0 0 583k 0 0:06:46 0:01:28 0:05:18 141k 21 231M 21 50.6M 0 0 578k 0 0:06:49 0:01:29 0:05:20 147k 21 231M 21 50.7M 0 0 573k 0 0:06:53 0:01:30 0:05:23 137k 21 231M 21 50.8M 0 0 568k 0 0:06:56 0:01:31 0:05:25 131k 22 231M 22 51.0M 0 0 564k 0 0:06:59 0:01:32 0:05:27 145k 22 231M 22 51.2M 0 0 559k 0 0:07:03 0:01:33 0:05:30 144k 22 231M 22 51.3M 0 0 555k 0 0:07:06 0:01:34 0:05:32 137k 22 231M 22 51.4M 0 0 550k 0 0:07:10 0:01:35 0:05:35 135k 22 231M 22 51.5M 0 0 545k 0 0:07:13 0:01:36 0:05:37 134k 22 231M 22 51.6M 0 0 541k 0 0:07:17 0:01:37 0:05:40 124k 22 231M 22 51.8M 0 0 538k 0 0:07:20 0:01:38 0:05:42 133k 22 231M 22 52.0M 0 0 534k 0 0:07:23 0:01:39 0:05:44 136k 22 231M 22 52.1M 0 0 530k 0 0:07:26 0:01:40 0:05:46 149k 22 231M 22 52.3M 0 0 526k 0 0:07:29 0:01:41 0:05:48 156k 22 231M 22 52.4M 0 0 522k 0 0:07:33 0:01:42 0:05:51 147k 22 231M 22 52.6M 0 0 519k 0 0:07:35 0:01:43 0:05:52 151k 23 231M 23 53.4M 0 0 522k 0 0:07:33 0:01:44 0:05:49 293k 23 231M 23 54.9M 0 0 532k 0 0:07:24 0:01:45 0:05:39 579k 24 231M 24 56.4M 0 0 542k 0 0:07:16 0:01:46 0:05:30 861k 24 231M 24 57.8M 0 0 549k 0 0:07:10 0:01:47 0:05:23 1106k 25 231M 25 58.6M 0 0 552k 0 0:07:08 0:01:48 0:05:20 1237k 25 231M 25 59.5M 0 0 556k 0 0:07:05 0:01:49 0:05:16 1251k 26 231M 26 60.5M 0 0 560k 0 0:07:02 0:01:50 0:05:12 1137k 26 231M 26 61.5M 0 0 564k 0 0:06:59 0:01:51 0:05:08 1043k 27 231M 27 62.7M 0 0 570k 0 0:06:55 0:01:52 0:05:03 1006k 27 231M 27 63.5M 0 0 572k 0 0:06:53 0:01:53 0:05:00 998k 27 231M 27 64.1M 0 0 572k 0 0:06:53 0:01:54 0:04:59 937k 28 231M 28 65.1M 0 0 576k 0 0:06:50 0:01:55 0:04:55 934k 28 231M 28 66.4M 0 0 583k 0 0:06:45 0:01:56 0:04:49 1001k 29 231M 29 67.5M 0 0 588k 0 0:06:42 0:01:57 0:04:45 997k 29 231M 29 68.6M 0 0 592k 0 0:06:39 0:01:58 0:04:41 1048k 29 231M 29 69.3M 0 0 593k 0 0:06:38 0:01:59 0:04:39 1075k 30 231M 30 70.2M 0 0 595k 0 0:06:37 0:02:00 0:04:37 1045k 30 231M 30 71.2M 0 0 599k 0 0:06:35 0:02:01 0:04:34 966k 31 231M 31 72.1M 0 0 602k 0 0:06:33 0:02:02 0:04:31 944k 31 231M 31 73.2M 0 0 606k 0 0:06:30 0:02:03 0:04:27 934k 32 231M 32 74.5M 0 0 612k 0 0:06:26 0:02:04 0:04:22 1062k 32 231M 32 75.9M 0 0 619k 0 0:06:22 0:02:05 0:04:17 1181k 33 231M 33 77.0M 0 0 622k 0 0:06:20 0:02:06 0:04:14 1190k 33 231M 33 77.6M 0 0 622k 0 0:06:20 0:02:07 0:04:13 1109k 33 231M 33 78.4M 0 0 624k 0 0:06:19 0:02:08 0:04:11 1063k 34 231M 34 79.2M 0 0 626k 0 0:06:18 0:02:09 0:04:09 964k 34 231M 34 80.3M 0 0 629k 0 0:06:16 0:02:10 0:04:06 888k 35 231M 35 81.2M 0 0 631k 0 0:06:14 0:02:11 0:04:03 865k 35 231M 35 82.3M 0 0 635k 0 0:06:12 0:02:12 0:04:00 970k 36 231M 36 83.6M 0 0 640k 0 0:06:09 0:02:13 0:03:56 1065k 36 231M 36 84.7M 0 0 644k 0 0:06:07 0:02:14 0:03:53 1119k 37 231M 37 85.7M 0 0 647k 0 0:06:06 0:02:15 0:03:51 1107k 37 231M 37 86.6M 0 0 649k 0 0:06:04 0:02:16 0:03:48 1113k 38 231M 38 88.0M 0 0 655k 0 0:06:01 0:02:17 0:03:44 1168k 38 231M 38 89.8M 0 0 663k 0 0:05:57 0:02:18 0:03:39 1276k 39 231M 39 91.6M 0 0 671k 0 0:05:52 0:02:19 0:03:33 1405k 40 231M 40 93.2M 0 0 679k 0 0:05:48 0:02:20 0:03:28 1548k 40 231M 40 94.6M 0 0 683k 0 0:05:46 0:02:21 0:03:25 1623k 41 231M 41 95.9M 0 0 688k 0 0:05:44 0:02:22 0:03:22 1609k 42 231M 42 97.5M 0 0 695k 0 0:05:40 0:02:23 0:03:17 1570k 42 231M 42 98.6M 0 0 698k 0 0:05:39 0:02:24 0:03:15 1441k 43 231M 43 100M 0 0 703k 0 0:05:36 0:02:25 0:03:11 1393k 44 231M 44 101M 0 0 711k 0 0:05:33 0:02:26 0:03:07 1493k 44 231M 44 103M 0 0 715k 0 0:05:31 0:02:27 0:03:04 1470k 45 231M 45 104M 0 0 719k 0 0:05:29 0:02:28 0:03:01 1413k 45 231M 45 105M 0 0 724k 0 0:05:27 0:02:29 0:02:58 1471k 46 231M 46 107M 0 0 729k 0 0:05:24 0:02:30 0:02:54 1468k 46 231M 46 108M 0 0 732k 0 0:05:23 0:02:31 0:02:52 1360k 47 231M 47 109M 0 0 735k 0 0:05:22 0:02:32 0:02:50 1345k 48 231M 48 111M 0 0 740k 0 0:05:19 0:02:33 0:02:46 1382k 48 231M 48 112M 0 0 746k 0 0:05:17 0:02:34 0:02:43 1401k 49 231M 49 114M 0 0 750k 0 0:05:15 0:02:35 0:02:40 1384k 49 231M 49 115M 0 0 752k 0 0:05:14 0:02:36 0:02:38 1358k 50 231M 50 115M 0 0 753k 0 0:05:14 0:02:37 0:02:37 1292k 50 231M 50 116M 0 0 754k 0 0:05:13 0:02:38 0:02:35 1183k 51 231M 51 118M 0 0 756k 0 0:05:13 0:02:39 0:02:34 1093k 51 231M 51 119M 0 0 759k 0 0:05:11 0:02:40 0:02:31 1058k 52 231M 52 120M 0 0 762k 0 0:05:10 0:02:41 0:02:29 1056k 52 231M 52 121M 0 0 765k 0 0:05:09 0:02:42 0:02:27 1148k 52 231M 52 122M 0 0 766k 0 0:05:09 0:02:43 0:02:26 1139k 53 231M 53 123M 0 0 768k 0 0:05:08 0:02:44 0:02:24 1148k 53 231M 53 124M 0 0 769k 0 0:05:07 0:02:45 0:02:22 1098k 54 231M 54 125M 0 0 771k 0 0:05:07 0:02:46 0:02:21 1077k 54 231M 54 126M 0 0 774k 0 0:05:05 0:02:47 0:02:18 1079k 55 231M 55 128M 0 0 779k 0 0:05:03 0:02:48 0:02:15 1222k 56 231M 56 129M 0 0 782k 0 0:05:02 0:02:49 0:02:13 1248k 56 231M 56 130M 0 0 784k 0 0:05:02 0:02:50 0:02:12 1261k 56 231M 56 131M 0 0 783k 0 0:05:02 0:02:51 0:02:11 1165k 57 231M 57 132M 0 0 784k 0 0:05:01 0:02:52 0:02:09 1107k 57 231M 57 133M 0 0 785k 0 0:05:01 0:02:53 0:02:08 985k 57 231M 57 133M 0 0 784k 0 0:05:01 0:02:54 0:02:07 854k 58 231M 58 134M 0 0 784k 0 0:05:02 0:02:55 0:02:07 776k 58 231M 58 135M 0 0 783k 0 0:05:02 0:02:56 0:02:06 779k 58 231M 58 135M 0 0 781k 0 0:05:03 0:02:57 0:02:06 670k 58 231M 58 135M 0 0 779k 0 0:05:04 0:02:58 0:02:06 538k 58 231M 58 136M 0 0 777k 0 0:05:04 0:02:59 0:02:05 500k 59 231M 59 136M 0 0 775k 0 0:05:05 0:03:00 0:02:05 457k 59 231M 59 137M 0 0 775k 0 0:05:05 0:03:01 0:02:04 522k 60 231M 60 139M 0 0 780k 0 0:05:03 0:03:02 0:02:01 758k 60 231M 60 141M 0 0 786k 0 0:05:01 0:03:03 0:01:58 1064k 61 231M 61 142M 0 0 790k 0 0:04:59 0:03:04 0:01:55 1289k 62 231M 62 144M 0 0 795k 0 0:04:57 0:03:05 0:01:52 1541k 63 231M 63 146M 0 0 801k 0 0:04:55 0:03:06 0:01:49 1722k 63 231M 63 147M 0 0 805k 0 0:04:54 0:03:07 0:01:47 1708k 64 231M 64 149M 0 0 810k 0 0:04:52 0:03:08 0:01:44 1683k 65 231M 65 151M 0 0 815k 0 0:04:50 0:03:09 0:01:41 1713k 65 231M 65 152M 0 0 816k 0 0:04:50 0:03:10 0:01:40 1599k 66 231M 66 153M 0 0 818k 0 0:04:49 0:03:11 0:01:38 1467k 66 231M 66 154M 0 0 820k 0 0:04:48 0:03:12 0:01:36 1370k 67 231M 67 156M 0 0 825k 0 0:04:47 0:03:13 0:01:34 1376k 68 231M 68 158M 0 0 832k 0 0:04:44 0:03:14 0:01:30 1485k 69 231M 69 160M 0 0 839k 0 0:04:42 0:03:15 0:01:27 1687k 70 231M 70 162M 0 0 843k 0 0:04:40 0:03:16 0:01:24 1812k 70 231M 70 163M 0 0 846k 0 0:04:39 0:03:17 0:01:22 1861k 71 231M 71 164M 0 0 848k 0 0:04:39 0:03:18 0:01:21 1737k 71 231M 71 165M 0 0 850k 0 0:04:38 0:03:19 0:01:19 1552k 72 231M 72 167M 0 0 853k 0 0:04:37 0:03:20 0:01:17 1403k 73 231M 73 168M 0 0 858k 0 0:04:36 0:03:21 0:01:15 1420k 74 231M 74 171M 0 0 866k 0 0:04:33 0:03:22 0:01:11 1677k 75 231M 75 173M 0 0 874k 0 0:04:30 0:03:23 0:01:07 1910k 76 231M 76 175M 0 0 880k 0 0:04:29 0:03:24 0:01:05 2073k 77 231M 77 178M 0 0 887k 0 0:04:26 0:03:25 0:01:01 2263k 77 231M 77 179M 0 0 891k 0 0:04:25 0:03:26 0:00:59 2249k 78 231M 78 181M 0 0 893k 0 0:04:25 0:03:27 0:00:58 1993k 78 231M 78 182M 0 0 895k 0 0:04:24 0:03:28 0:00:56 1763k 79 231M 79 184M 0 0 898k 0 0:04:23 0:03:29 0:00:54 1662k 80 231M 80 185M 0 0 902k 0 0:04:22 0:03:30 0:00:52 1524k 81 231M 81 187M 0 0 907k 0 0:04:21 0:03:31 0:00:50 1549k 81 231M 81 189M 0 0 910k 0 0:04:20 0:03:32 0:00:48 1594k 82 231M 82 190M 0 0 911k 0 0:04:19 0:03:33 0:00:46 1576k 82 231M 82 191M 0 0 911k 0 0:04:19 0:03:34 0:00:45 1437k 83 231M 83 192M 0 0 912k 0 0:04:19 0:03:35 0:00:44 1340k 83 231M 83 193M 0 0 914k 0 0:04:19 0:03:36 0:00:43 1202k 84 231M 84 195M 0 0 918k 0 0:04:17 0:03:37 0:00:40 1269k 85 231M 85 197M 0 0 923k 0 0:04:16 0:03:38 0:00:38 1416k 85 231M 85 198M 0 0 925k 0 0:04:15 0:03:39 0:00:36 1536k 86 231M 86 199M 0 0 926k 0 0:04:15 0:03:40 0:00:35 1539k 86 231M 86 200M 0 0 927k 0 0:04:15 0:03:41 0:00:34 1500k 87 231M 87 201M 0 0 928k 0 0:04:15 0:03:42 0:00:33 1369k 88 231M 88 203M 0 0 932k 0 0:04:13 0:03:43 0:00:30 1360k 88 231M 88 205M 0 0 935k 0 0:04:13 0:03:44 0:00:29 1350k 89 231M 89 206M 0 0 936k 0 0:04:13 0:03:45 0:00:28 1350k 89 231M 89 207M 0 0 937k 0 0:04:12 0:03:46 0:00:26 1402k 90 231M 90 209M 0 0 940k 0 0:04:11 0:03:47 0:00:24 1462k 90 231M 90 210M 0 0 942k 0 0:04:11 0:03:48 0:00:23 1360k 91 231M 91 211M 0 0 942k 0 0:04:11 0:03:49 0:00:22 1283k 92 231M 92 212M 0 0 945k 0 0:04:10 0:03:50 0:00:20 1369k 92 231M 92 215M 0 0 950k 0 0:04:09 0:03:51 0:00:18 1539k 93 231M 93 217M 0 0 955k 0 0:04:08 0:03:52 0:00:16 1619k 94 231M 94 219M 0 0 960k 0 0:04:06 0:03:53 0:00:13 1776k 95 231M 95 221M 0 0 965k 0 0:04:05 0:03:54 0:00:11 2024k 96 231M 96 223M 0 0 972k 0 0:04:03 0:03:55 0:00:08 2219k 98 231M 98 226M 0 0 981k 0 0:04:01 0:03:56 0:00:05 2385k 99 231M 99 229M 0 0 988k 0 0:03:59 0:03:57 0:00:02 2549k 100 231M 100 231M 0 0 993k 0 0:03:58 0:03:58 --:--:-- 2630k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 -linux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 231M 0 2896 0 0 1735 0 38:50:24 0:00:01 38:50:23 $'1757\r' 0 231M 0 219k 0 0 83891 0 0:48:11 0:00:02 0:48:09 $'84552\r' 0 231M 0 603k 0 0 163k 0 0:24:05 0:00:03 0:24:02 $'164k\r' 0 231M 0 955k 0 0 204k 0 0:19:18 0:00:04 0:19:14 $'205k\r' 0 231M 0 1323k 0 0 233k 0 0:16:54 0:00:05 0:16:49 $'309k\r' 0 231M 0 1739k 0 0 260k 0 0:15:09 0:00:06 0:15:03 $'346k\r' 0 231M 0 2027k 0 0 264k 0 0:14:54 0:00:07 0:14:47 $'362k\r' 1 231M 1 2475k 0 0 285k 0 0:13:49 0:00:08 0:13:41 $'375k\r' 1 231M 1 2987k 0 0 307k 0 0:12:49 0:00:09 0:12:40 $'403k\r' 1 231M 1 3307k 0 0 309k 0 0:12:44 0:00:10 0:12:34 $'396k\r' 1 231M 1 3707k 0 0 317k 0 0:12:25 0:00:11 0:12:14 $'394k\r' 1 231M 1 4059k 0 0 320k 0 0:12:18 0:00:12 0:12:06 $'406k\r' 1 231M 1 4299k 0 0 314k 0 0:12:33 0:00:13 0:12:20 $'363k\r' 2 231M 2 4747k 0 0 323k 0 0:12:11 0:00:14 0:11:57 $'355k\r' 2 231M 2 4987k 0 0 317k 0 0:12:25 0:00:15 0:12:10 $'334k\r' 2 231M 2 5115k 0 0 306k 0 0:12:52 0:00:16 0:12:36 $'281k\r' 2 231M 2 5291k 0 0 296k 0 0:13:19 0:00:17 0:13:02 $'237k\r' 2 231M 2 5323k 0 0 284k 0 0:13:51 0:00:18 0:13:33 $'204k\r' 2 231M 2 5355k 0 0 270k 0 0:14:34 0:00:19 0:14:15 $'119k\r' 2 231M 2 5483k 0 0 265k 0 0:14:53 0:00:20 0:14:33 $'99k\r' 2 231M 2 5739k 0 0 264k 0 0:14:55 0:00:21 0:14:34 $'124k\r' 2 231M 2 6059k 0 0 267k 0 0:14:45 0:00:22 0:14:23 $'160k\r' 2 231M 2 6107k 0 0 257k 0 0:15:21 0:00:23 0:14:58 $'154k\r' 2 231M 2 6139k 0 0 248k 0 0:15:54 0:00:24 0:15:30 $'158k\r' 2 231M 2 6219k 0 0 241k 0 0:16:21 0:00:25 0:15:56 $'145k\r' 2 231M 2 6267k 0 0 232k 0 0:16:59 0:00:26 0:16:33 $'99k\r' 2 231M 2 6363k 0 0 230k 0 0:17:09 0:00:27 0:16:42 $'62237\r' 2 231M 2 6411k 0 0 223k 0 0:17:39 0:00:28 0:17:11 $'63280\r' 2 231M 2 6459k 0 0 217k 0 0:18:08 0:00:29 0:17:39 $'66157\r' 2 231M 2 6491k 0 0 211k 0 0:18:39 0:00:30 0:18:09 $'56857\r' 2 231M 2 6539k 0 0 206k 0 0:19:07 0:00:31 0:18:36 $'59421\r' 2 231M 2 6587k 0 0 201k 0 0:19:35 0:00:32 0:19:03 $'45656\r' 2 231M 2 6651k 0 0 197k 0 0:20:02 0:00:33 0:19:29 $'48476\r' 2 231M 2 6715k 0 0 193k 0 0:20:22 0:00:34 0:19:48 $'52660\r' 2 231M 2 6763k 0 0 189k 0 0:20:49 0:00:35 0:20:14 $'55546\r' 2 231M 2 6811k 0 0 185k 0 0:21:16 0:00:36 0:20:40 $'55256\r' 2 231M 2 6827k 0 0 181k 0 0:21:48 0:00:37 0:21:11 $'48826\r' 2 231M 2 6875k 0 0 177k 0 0:22:12 0:00:38 0:21:34 $'46460\r' 2 231M 2 6907k 0 0 173k 0 0:22:42 0:00:39 0:22:03 $'38748\r' 2 231M 2 6971k 0 0 171k 0 0:23:01 0:00:40 0:22:21 $'42730\r' 2 231M 2 7035k 0 0 168k 0 0:23:23 0:00:41 0:22:42 $'46152\r' 2 231M 2 7099k 0 0 166k 0 0:23:44 0:00:42 0:23:02 $'56045\r' 3 231M 3 7163k 0 0 163k 0 0:24:04 0:00:43 0:23:21 $'58947\r' 3 231M 3 7227k 0 0 161k 0 0:24:23 0:00:44 0:23:39 $'66466\r' 3 231M 3 7323k 0 0 160k 0 0:24:37 0:00:45 0:23:52 $'72104\r' 3 231M 3 7403k 0 0 158k 0 0:24:53 0:00:46 0:24:07 $'75362\r' 3 231M 3 7675k 0 0 161k 0 0:24:30 0:00:47 0:23:43 $'115k\r' 3 231M 3 7899k 0 0 162k 0 0:24:19 0:00:48 0:23:31 $'147k\r' 3 231M 3 8091k 0 0 162k 0 0:24:13 0:00:49 0:23:24 $'173k\r' 3 231M 3 8427k 0 0 166k 0 0:23:44 0:00:50 0:22:54 $'221k\r' 3 231M 3 8763k 0 0 169k 0 0:23:16 0:00:51 0:22:25 $'272k\r' 3 231M 3 8939k 0 0 169k 0 0:23:15 0:00:52 0:22:23 $'252k\r' 3 231M 3 9211k 0 0 171k 0 0:22:59 0:00:53 0:22:06 $'263k\r' 4 231M 4 9.7M 0 0 183k 0 0:21:33 0:00:54 0:20:39 $'384k\r' 4 231M 4 11.2M 0 0 207k 0 0:19:00 0:00:55 0:18:05 $'626k\r' 5 231M 5 13.4M 0 0 242k 0 0:16:17 0:00:56 0:15:21 $'994k\r' 6 231M 6 15.8M 0 0 281k 0 0:14:02 0:00:57 0:13:05 $'1453k\r' 7 231M 7 17.3M 0 0 302k 0 0:13:01 0:00:58 0:12:03 $'1711k\r' 7 231M 7 18.4M 0 0 316k 0 0:12:28 0:00:59 0:11:29 $'1772k\r' 8 231M 8 19.3M 0 0 326k 0 0:12:06 0:01:00 0:11:06 $'1645k\r' 8 231M 8 20.5M 0 0 340k 0 0:11:35 0:01:01 0:10:34 $'1455k\r' 9 231M 9 22.1M 0 0 361k 0 0:10:55 0:01:02 0:09:53 $'1286k\r' 10 231M 10 23.3M 0 0 376k 0 0:10:29 0:01:03 0:09:26 $'1233k\r' 10 231M 10 24.0M 0 0 381k 0 0:10:20 0:01:04 0:09:16 $'1157k\r' 10 231M 10 25.1M 0 0 392k 0 0:10:03 0:01:05 0:08:58 $'1196k\r' 11 231M 11 26.5M 0 0 407k 0 0:09:41 0:01:06 0:08:35 $'1227k\r' 12 231M 12 28.0M 0 0 423k 0 0:09:18 0:01:07 0:08:11 $'1209k\r' 12 231M 12 29.1M 0 0 434k 0 0:09:05 0:01:08 0:07:57 $'1174k\r' 13 231M 13 30.3M 0 0 445k 0 0:08:51 0:01:09 0:07:42 $'1274k\r' 13 231M 13 31.4M 0 0 455k 0 0:08:40 0:01:10 0:07:30 $'1276k\r' 14 231M 14 32.4M 0 0 463k 0 0:08:30 0:01:11 0:07:19 $'1218k\r' 14 231M 14 33.5M 0 0 472k 0 0:08:21 0:01:12 0:07:09 $'1132k\r' 15 231M 15 34.8M 0 0 483k 0 0:08:09 0:01:13 0:06:56 $'1154k\r' 15 231M 15 36.0M 0 0 494k 0 0:07:59 0:01:14 0:06:45 $'1170k\r' 16 231M 16 37.3M 0 0 505k 0 0:07:48 0:01:15 0:06:33 $'1212k\r' 16 231M 16 38.2M 0 0 510k 0 0:07:43 0:01:16 0:06:27 $'1181k\r' 16 231M 16 39.3M 0 0 518k 0 0:07:36 0:01:17 0:06:19 $'1184k\r' 17 231M 17 41.0M 0 0 534k 0 0:07:22 0:01:18 0:06:04 $'1297k\r' 18 231M 18 43.2M 0 0 555k 0 0:07:06 0:01:19 0:05:47 $'1475k\r' 19 231M 19 45.0M 0 0 571k 0 0:06:54 0:01:20 0:05:34 $'1580k\r' 20 231M 20 46.9M 0 0 588k 0 0:06:42 0:01:21 0:05:21 $'1783k\r' 21 231M 21 48.8M 0 0 605k 0 0:06:31 0:01:22 0:05:09 $'1958k\r' 21 231M 21 49.8M 0 0 609k 0 0:06:28 0:01:23 0:05:05 $'1786k\r' 21 231M 21 49.9M 0 0 604k 0 0:06:32 0:01:24 0:05:08 $'1375k\r' 21 231M 21 50.1M 0 0 598k 0 0:06:35 0:01:25 0:05:10 $'1033k\r' 21 231M 21 50.2M 0 0 593k 0 0:06:39 0:01:26 0:05:13 $'675k\r' 21 231M 21 50.3M 0 0 588k 0 0:06:42 0:01:27 0:05:15 $'301k\r' 21 231M 21 50.5M 0 0 583k 0 0:06:46 0:01:28 0:05:18 $'141k\r' 21 231M 21 50.6M 0 0 578k 0 0:06:49 0:01:29 0:05:20 $'147k\r' 21 231M 21 50.7M 0 0 573k 0 0:06:53 0:01:30 0:05:23 $'137k\r' 21 231M 21 50.8M 0 0 568k 0 0:06:56 0:01:31 0:05:25 $'131k\r' 22 231M 22 51.0M 0 0 564k 0 0:06:59 0:01:32 0:05:27 $'145k\r' 22 231M 22 51.2M 0 0 559k 0 0:07:03 0:01:33 0:05:30 $'144k\r' 22 231M 22 51.3M 0 0 555k 0 0:07:06 0:01:34 0:05:32 $'137k\r' 22 231M 22 51.4M 0 0 550k 0 0:07:10 0:01:35 0:05:35 $'135k\r' 22 231M 22 51.5M 0 0 545k 0 0:07:13 0:01:36 0:05:37 $'134k\r' 22 231M 22 51.6M 0 0 541k 0 0:07:17 0:01:37 0:05:40 $'124k\r' 22 231M 22 51.8M 0 0 538k 0 0:07:20 0:01:38 0:05:42 $'133k\r' 22 231M 22 52.0M 0 0 534k 0 0:07:23 0:01:39 0:05:44 $'136k\r' 22 231M 22 52.1M 0 0 530k 0 0:07:26 0:01:40 0:05:46 $'149k\r' 22 231M 22 52.3M 0 0 526k 0 0:07:29 0:01:41 0:05:48 $'156k\r' 22 231M 22 52.4M 0 0 522k 0 0:07:33 0:01:42 0:05:51 $'147k\r' 22 231M 22 52.6M 0 0 519k 0 0:07:35 0:01:43 0:05:52 $'151k\r' 23 231M 23 53.4M 0 0 522k 0 0:07:33 0:01:44 0:05:49 $'293k\r' 23 231M 23 54.9M 0 0 532k 0 0:07:24 0:01:45 0:05:39 $'579k\r' 24 231M 24 56.4M 0 0 542k 0 0:07:16 0:01:46 0:05:30 $'861k\r' 24 231M 24 57.8M 0 0 549k 0 0:07:10 0:01:47 0:05:23 $'1106k\r' 25 231M 25 58.6M 0 0 552k 0 0:07:08 0:01:48 0:05:20 $'1237k\r' 25 231M 25 59.5M 0 0 556k 0 0:07:05 0:01:49 0:05:16 $'1251k\r' 26 231M 26 60.5M 0 0 560k 0 0:07:02 0:01:50 0:05:12 $'1137k\r' 26 231M 26 61.5M 0 0 564k 0 0:06:59 0:01:51 0:05:08 $'1043k\r' 27 231M 27 62.7M 0 0 570k 0 0:06:55 0:01:52 0:05:03 $'1006k\r' 27 231M 27 63.5M 0 0 572k 0 0:06:53 0:01:53 0:05:00 $'998k\r' 27 231M 27 64.1M 0 0 572k 0 0:06:53 0:01:54 0:04:59 $'937k\r' 28 231M 28 65.1M 0 0 576k 0 0:06:50 0:01:55 0:04:55 $'934k\r' 28 231M 28 66.4M 0 0 583k 0 0:06:45 0:01:56 0:04:49 $'1001k\r' 29 231M 29 67.5M 0 0 588k 0 0:06:42 0:01:57 0:04:45 $'997k\r' 29 231M 29 68.6M 0 0 592k 0 0:06:39 0:01:58 0:04:41 $'1048k\r' 29 231M 29 69.3M 0 0 593k 0 0:06:38 0:01:59 0:04:39 $'1075k\r' 30 231M 30 70.2M 0 0 595k 0 0:06:37 0:02:00 0:04:37 $'1045k\r' 30 231M 30 71.2M 0 0 599k 0 0:06:35 0:02:01 0:04:34 $'966k\r' 31 231M 31 72.1M 0 0 602k 0 0:06:33 0:02:02 0:04:31 $'944k\r' 31 231M 31 73.2M 0 0 606k 0 0:06:30 0:02:03 0:04:27 $'934k\r' 32 231M 32 74.5M 0 0 612k 0 0:06:26 0:02:04 0:04:22 $'1062k\r' 32 231M 32 75.9M 0 0 619k 0 0:06:22 0:02:05 0:04:17 $'1181k\r' 33 231M 33 77.0M 0 0 622k 0 0:06:20 0:02:06 0:04:14 $'1190k\r' 33 231M 33 77.6M 0 0 622k 0 0:06:20 0:02:07 0:04:13 $'1109k\r' 33 231M 33 78.4M 0 0 624k 0 0:06:19 0:02:08 0:04:11 $'1063k\r' 34 231M 34 79.2M 0 0 626k 0 0:06:18 0:02:09 0:04:09 $'964k\r' 34 231M 34 80.3M 0 0 629k 0 0:06:16 0:02:10 0:04:06 $'888k\r' 35 231M 35 81.2M 0 0 631k 0 0:06:14 0:02:11 0:04:03 $'865k\r' 35 231M 35 82.3M 0 0 635k 0 0:06:12 0:02:12 0:04:00 $'970k\r' 36 231M 36 83.6M 0 0 640k 0 0:06:09 0:02:13 0:03:56 $'1065k\r' 36 231M 36 84.7M 0 0 644k 0 0:06:07 0:02:14 0:03:53 $'1119k\r' 37 231M 37 85.7M 0 0 647k 0 0:06:06 0:02:15 0:03:51 $'1107k\r' 37 231M 37 86.6M 0 0 649k 0 0:06:04 0:02:16 0:03:48 $'1113k\r' 38 231M 38 88.0M 0 0 655k 0 0:06:01 0:02:17 0:03:44 $'1168k\r' 38 231M 38 89.8M 0 0 663k 0 0:05:57 0:02:18 0:03:39 $'1276k\r' 39 231M 39 91.6M 0 0 671k 0 0:05:52 0:02:19 0:03:33 $'1405k\r' 40 231M 40 93.2M 0 0 679k 0 0:05:48 0:02:20 0:03:28 $'1548k\r' 40 231M 40 94.6M 0 0 683k 0 0:05:46 0:02:21 0:03:25 $'1623k\r' 41 231M 41 95.9M 0 0 688k 0 0:05:44 0:02:22 0:03:22 $'1609k\r' 42 231M 42 97.5M 0 0 695k 0 0:05:40 0:02:23 0:03:17 $'1570k\r' 42 231M 42 98.6M 0 0 698k 0 0:05:39 0:02:24 0:03:15 $'1441k\r' 43 231M 43 100M 0 0 703k 0 0:05:36 0:02:25 0:03:11 $'1393k\r' 44 231M 44 101M 0 0 711k 0 0:05:33 0:02:26 0:03:07 $'1493k\r' 44 231M 44 103M 0 0 715k 0 0:05:31 0:02:27 0:03:04 $'1470k\r' 45 231M 45 104M 0 0 719k 0 0:05:29 0:02:28 0:03:01 $'1413k\r' 45 231M 45 105M 0 0 724k 0 0:05:27 0:02:29 0:02:58 $'1471k\r' 46 231M 46 107M 0 0 729k 0 0:05:24 0:02:30 0:02:54 $'1468k\r' 46 231M 46 108M 0 0 732k 0 0:05:23 0:02:31 0:02:52 $'1360k\r' 47 231M 47 109M 0 0 735k 0 0:05:22 0:02:32 0:02:50 $'1345k\r' 48 231M 48 111M 0 0 740k 0 0:05:19 0:02:33 0:02:46 $'1382k\r' 48 231M 48 112M 0 0 746k 0 0:05:17 0:02:34 0:02:43 $'1401k\r' 49 231M 49 114M 0 0 750k 0 0:05:15 0:02:35 0:02:40 $'1384k\r' 49 231M 49 115M 0 0 752k 0 0:05:14 0:02:36 0:02:38 $'1358k\r' 50 231M 50 115M 0 0 753k 0 0:05:14 0:02:37 0:02:37 $'1292k\r' 50 231M 50 116M 0 0 754k 0 0:05:13 0:02:38 0:02:35 $'1183k\r' 51 231M 51 118M 0 0 756k 0 0:05:13 0:02:39 0:02:34 $'1093k\r' 51 231M 51 119M 0 0 759k 0 0:05:11 0:02:40 0:02:31 $'1058k\r' 52 231M 52 120M 0 0 762k 0 0:05:10 0:02:41 0:02:29 $'1056k\r' 52 231M 52 121M 0 0 765k 0 0:05:09 0:02:42 0:02:27 $'1148k\r' 52 231M 52 122M 0 0 766k 0 0:05:09 0:02:43 0:02:26 $'1139k\r' 53 231M 53 123M 0 0 768k 0 0:05:08 0:02:44 0:02:24 $'1148k\r' 53 231M 53 124M 0 0 769k 0 0:05:07 0:02:45 0:02:22 $'1098k\r' 54 231M 54 125M 0 0 771k 0 0:05:07 0:02:46 0:02:21 $'1077k\r' 54 231M 54 126M 0 0 774k 0 0:05:05 0:02:47 0:02:18 $'1079k\r' 55 231M 55 128M 0 0 779k 0 0:05:03 0:02:48 0:02:15 $'1222k\r' 56 231M 56 129M 0 0 782k 0 0:05:02 0:02:49 0:02:13 $'1248k\r' 56 231M 56 130M 0 0 784k 0 0:05:02 0:02:50 0:02:12 $'1261k\r' 56 231M 56 131M 0 0 783k 0 0:05:02 0:02:51 0:02:11 $'1165k\r' 57 231M 57 132M 0 0 784k 0 0:05:01 0:02:52 0:02:09 $'1107k\r' 57 231M 57 133M 0 0 785k 0 0:05:01 0:02:53 0:02:08 $'985k\r' 57 231M 57 133M 0 0 784k 0 0:05:01 0:02:54 0:02:07 $'854k\r' 58 231M 58 134M 0 0 784k 0 0:05:02 0:02:55 0:02:07 $'776k\r' 58 231M 58 135M 0 0 783k 0 0:05:02 0:02:56 0:02:06 $'779k\r' 58 231M 58 135M 0 0 781k 0 0:05:03 0:02:57 0:02:06 $'670k\r' 58 231M 58 135M 0 0 779k 0 0:05:04 0:02:58 0:02:06 $'538k\r' 58 231M 58 136M 0 0 777k 0 0:05:04 0:02:59 0:02:05 $'500k\r' 59 231M 59 136M 0 0 775k 0 0:05:05 0:03:00 0:02:05 $'457k\r' 59 231M 59 137M 0 0 775k 0 0:05:05 0:03:01 0:02:04 $'522k\r' 60 231M 60 139M 0 0 780k 0 0:05:03 0:03:02 0:02:01 $'758k\r' 60 231M 60 141M 0 0 786k 0 0:05:01 0:03:03 0:01:58 $'1064k\r' 61 231M 61 142M 0 0 790k 0 0:04:59 0:03:04 0:01:55 $'1289k\r' 62 231M 62 144M 0 0 795k 0 0:04:57 0:03:05 0:01:52 $'1541k\r' 63 231M 63 146M 0 0 801k 0 0:04:55 0:03:06 0:01:49 $'1722k\r' 63 231M 63 147M 0 0 805k 0 0:04:54 0:03:07 0:01:47 $'1708k\r' 64 231M 64 149M 0 0 810k 0 0:04:52 0:03:08 0:01:44 $'1683k\r' 65 231M 65 151M 0 0 815k 0 0:04:50 0:03:09 0:01:41 $'1713k\r' 65 231M 65 152M 0 0 816k 0 0:04:50 0:03:10 0:01:40 $'1599k\r' 66 231M 66 153M 0 0 818k 0 0:04:49 0:03:11 0:01:38 $'1467k\r' 66 231M 66 154M 0 0 820k 0 0:04:48 0:03:12 0:01:36 $'1370k\r' 67 231M 67 156M 0 0 825k 0 0:04:47 0:03:13 0:01:34 $'1376k\r' 68 231M 68 158M 0 0 832k 0 0:04:44 0:03:14 0:01:30 $'1485k\r' 69 231M 69 160M 0 0 839k 0 0:04:42 0:03:15 0:01:27 $'1687k\r' 70 231M 70 162M 0 0 843k 0 0:04:40 0:03:16 0:01:24 $'1812k\r' 70 231M 70 163M 0 0 846k 0 0:04:39 0:03:17 0:01:22 $'1861k\r' 71 231M 71 164M 0 0 848k 0 0:04:39 0:03:18 0:01:21 $'1737k\r' 71 231M 71 165M 0 0 850k 0 0:04:38 0:03:19 0:01:19 $'1552k\r' 72 231M 72 167M 0 0 853k 0 0:04:37 0:03:20 0:01:17 $'1403k\r' 73 231M 73 168M 0 0 858k 0 0:04:36 0:03:21 0:01:15 $'1420k\r' 74 231M 74 171M 0 0 866k 0 0:04:33 0:03:22 0:01:11 $'1677k\r' 75 231M 75 173M 0 0 874k 0 0:04:30 0:03:23 0:01:07 $'1910k\r' 76 231M 76 175M 0 0 880k 0 0:04:29 0:03:24 0:01:05 $'2073k\r' 77 231M 77 178M 0 0 887k 0 0:04:26 0:03:25 0:01:01 $'2263k\r' 77 231M 77 179M 0 0 891k 0 0:04:25 0:03:26 0:00:59 $'2249k\r' 78 231M 78 181M 0 0 893k 0 0:04:25 0:03:27 0:00:58 $'1993k\r' 78 231M 78 182M 0 0 895k 0 0:04:24 0:03:28 0:00:56 $'1763k\r' 79 231M 79 184M 0 0 898k 0 0:04:23 0:03:29 0:00:54 $'1662k\r' 80 231M 80 185M 0 0 902k 0 0:04:22 0:03:30 0:00:52 $'1524k\r' 81 231M 81 187M 0 0 907k 0 0:04:21 0:03:31 0:00:50 $'1549k\r' 81 231M 81 189M 0 0 910k 0 0:04:20 0:03:32 0:00:48 $'1594k\r' 82 231M 82 190M 0 0 911k 0 0:04:19 0:03:33 0:00:46 $'1576k\r' 82 231M 82 191M 0 0 911k 0 0:04:19 0:03:34 0:00:45 $'1437k\r' 83 231M 83 192M 0 0 912k 0 0:04:19 0:03:35 0:00:44 $'1340k\r' 83 231M 83 193M 0 0 914k 0 0:04:19 0:03:36 0:00:43 $'1202k\r' 84 231M 84 195M 0 0 918k 0 0:04:17 0:03:37 0:00:40 $'1269k\r' 85 231M 85 197M 0 0 923k 0 0:04:16 0:03:38 0:00:38 $'1416k\r' 85 231M 85 198M 0 0 925k 0 0:04:15 0:03:39 0:00:36 $'1536k\r' 86 231M 86 199M 0 0 926k 0 0:04:15 0:03:40 0:00:35 $'1539k\r' 86 231M 86 200M 0 0 927k 0 0:04:15 0:03:41 0:00:34 $'1500k\r' 87 231M 87 201M 0 0 928k 0 0:04:15 0:03:42 0:00:33 $'1369k\r' 88 231M 88 203M 0 0 932k 0 0:04:13 0:03:43 0:00:30 $'1360k\r' 88 231M 88 205M 0 0 935k 0 0:04:13 0:03:44 0:00:29 $'1350k\r' 89 231M 89 206M 0 0 936k 0 0:04:13 0:03:45 0:00:28 $'1350k\r' 89 231M 89 207M 0 0 937k 0 0:04:12 0:03:46 0:00:26 $'1402k\r' 90 231M 90 209M 0 0 940k 0 0:04:11 0:03:47 0:00:24 $'1462k\r' 90 231M 90 210M 0 0 942k 0 0:04:11 0:03:48 0:00:23 $'1360k\r' 91 231M 91 211M 0 0 942k 0 0:04:11 0:03:49 0:00:22 $'1283k\r' 92 231M 92 212M 0 0 945k 0 0:04:10 0:03:50 0:00:20 $'1369k\r' 92 231M 92 215M 0 0 950k 0 0:04:09 0:03:51 0:00:18 $'1539k\r' 93 231M 93 217M 0 0 955k 0 0:04:08 0:03:52 0:00:16 $'1619k\r' 94 231M 94 219M 0 0 960k 0 0:04:06 0:03:53 0:00:13 $'1776k\r' 95 231M 95 221M 0 0 965k 0 0:04:05 0:03:54 0:00:11 $'2024k\r' 96 231M 96 223M 0 0 972k 0 0:04:03 0:03:55 0:00:08 $'2219k\r' 98 231M 98 226M 0 0 981k 0 0:04:01 0:03:56 0:00:05 $'2385k\r' 99 231M 99 229M 0 0 988k 0 0:03:59 0:03:57 0:00:02 $'2549k\r100' 231M 100 231M 0 0 993k 0 0:03:58 0:03:58 --:--:-- 2630k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ bp=/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ bpb=/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv 64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 -linux-gnu-riscv64-plct-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 231M 0 2896 0 0 1735 0 38:50:24 0:00:01 38:50:23 $'1757\r' 0 231M 0 219k 0 0 83891 0 0:48:11 0:00:02 0:48:09 $'84552\r' 0 231M 0 603k 0 0 163k 0 0:24:05 0:00:03 0:24:02 $'164k\r' 0 231M 0 955k 0 0 204k 0 0:19:18 0:00:04 0:19:14 $'205k\r' 0 231M 0 1323k 0 0 233k 0 0:16:54 0:00:05 0:16:49 $'309k\r' 0 231M 0 1739k 0 0 260k 0 0:15:09 0:00:06 0:15:03 $'346k\r' 0 231M 0 2027k 0 0 264k 0 0:14:54 0:00:07 0:14:47 $'362k\r' 1 231M 1 2475k 0 0 285k 0 0:13:49 0:00:08 0:13:41 $'375k\r' 1 231M 1 2987k 0 0 307k 0 0:12:49 0:00:09 0:12:40 $'403k\r' 1 231M 1 3307k 0 0 309k 0 0:12:44 0:00:10 0:12:34 $'396k\r' 1 231M 1 3707k 0 0 317k 0 0:12:25 0:00:11 0:12:14 $'394k\r' 1 231M 1 4059k 0 0 320k 0 0:12:18 0:00:12 0:12:06 $'406k\r' 1 231M 1 4299k 0 0 314k 0 0:12:33 0:00:13 0:12:20 $'363k\r' 2 231M 2 4747k 0 0 323k 0 0:12:11 0:00:14 0:11:57 $'355k\r' 2 231M 2 4987k 0 0 317k 0 0:12:25 0:00:15 0:12:10 $'334k\r' 2 231M 2 5115k 0 0 306k 0 0:12:52 0:00:16 0:12:36 $'281k\r' 2 231M 2 5291k 0 0 296k 0 0:13:19 0:00:17 0:13:02 $'237k\r' 2 231M 2 5323k 0 0 284k 0 0:13:51 0:00:18 0:13:33 $'204k\r' 2 231M 2 5355k 0 0 270k 0 0:14:34 0:00:19 0:14:15 $'119k\r' 2 231M 2 5483k 0 0 265k 0 0:14:53 0:00:20 0:14:33 $'99k\r' 2 231M 2 5739k 0 0 264k 0 0:14:55 0:00:21 0:14:34 $'124k\r' 2 231M 2 6059k 0 0 267k 0 0:14:45 0:00:22 0:14:23 $'160k\r' 2 231M 2 6107k 0 0 257k 0 0:15:21 0:00:23 0:14:58 $'154k\r' 2 231M 2 6139k 0 0 248k 0 0:15:54 0:00:24 0:15:30 $'158k\r' 2 231M 2 6219k 0 0 241k 0 0:16:21 0:00:25 0:15:56 $'145k\r' 2 231M 2 6267k 0 0 232k 0 0:16:59 0:00:26 0:16:33 $'99k\r' 2 231M 2 6363k 0 0 230k 0 0:17:09 0:00:27 0:16:42 $'62237\r' 2 231M 2 6411k 0 0 223k 0 0:17:39 0:00:28 0:17:11 $'63280\r' 2 231M 2 6459k 0 0 217k 0 0:18:08 0:00:29 0:17:39 $'66157\r' 2 231M 2 6491k 0 0 211k 0 0:18:39 0:00:30 0:18:09 $'56857\r' 2 231M 2 6539k 0 0 206k 0 0:19:07 0:00:31 0:18:36 $'59421\r' 2 231M 2 6587k 0 0 201k 0 0:19:35 0:00:32 0:19:03 $'45656\r' 2 231M 2 6651k 0 0 197k 0 0:20:02 0:00:33 0:19:29 $'48476\r' 2 231M 2 6715k 0 0 193k 0 0:20:22 0:00:34 0:19:48 $'52660\r' 2 231M 2 6763k 0 0 189k 0 0:20:49 0:00:35 0:20:14 $'55546\r' 2 231M 2 6811k 0 0 185k 0 0:21:16 0:00:36 0:20:40 $'55256\r' 2 231M 2 6827k 0 0 181k 0 0:21:48 0:00:37 0:21:11 $'48826\r' 2 231M 2 6875k 0 0 177k 0 0:22:12 0:00:38 0:21:34 $'46460\r' 2 231M 2 6907k 0 0 173k 0 0:22:42 0:00:39 0:22:03 $'38748\r' 2 231M 2 6971k 0 0 171k 0 0:23:01 0:00:40 0:22:21 $'42730\r' 2 231M 2 7035k 0 0 168k 0 0:23:23 0:00:41 0:22:42 $'46152\r' 2 231M 2 7099k 0 0 166k 0 0:23:44 0:00:42 0:23:02 $'56045\r' 3 231M 3 7163k 0 0 163k 0 0:24:04 0:00:43 0:23:21 $'58947\r' 3 231M 3 7227k 0 0 161k 0 0:24:23 0:00:44 0:23:39 $'66466\r' 3 231M 3 7323k 0 0 160k 0 0:24:37 0:00:45 0:23:52 $'72104\r' 3 231M 3 7403k 0 0 158k 0 0:24:53 0:00:46 0:24:07 $'75362\r' 3 231M 3 7675k 0 0 161k 0 0:24:30 0:00:47 0:23:43 $'115k\r' 3 231M 3 7899k 0 0 162k 0 0:24:19 0:00:48 0:23:31 $'147k\r' 3 231M 3 8091k 0 0 162k 0 0:24:13 0:00:49 0:23:24 $'173k\r' 3 231M 3 8427k 0 0 166k 0 0:23:44 0:00:50 0:22:54 $'221k\r' 3 231M 3 8763k 0 0 169k 0 0:23:16 0:00:51 0:22:25 $'272k\r' 3 231M 3 8939k 0 0 169k 0 0:23:15 0:00:52 0:22:23 $'252k\r' 3 231M 3 9211k 0 0 171k 0 0:22:59 0:00:53 0:22:06 $'263k\r' 4 231M 4 9.7M 0 0 183k 0 0:21:33 0:00:54 0:20:39 $'384k\r' 4 231M 4 11.2M 0 0 207k 0 0:19:00 0:00:55 0:18:05 $'626k\r' 5 231M 5 13.4M 0 0 242k 0 0:16:17 0:00:56 0:15:21 $'994k\r' 6 231M 6 15.8M 0 0 281k 0 0:14:02 0:00:57 0:13:05 $'1453k\r' 7 231M 7 17.3M 0 0 302k 0 0:13:01 0:00:58 0:12:03 $'1711k\r' 7 231M 7 18.4M 0 0 316k 0 0:12:28 0:00:59 0:11:29 $'1772k\r' 8 231M 8 19.3M 0 0 326k 0 0:12:06 0:01:00 0:11:06 $'1645k\r' 8 231M 8 20.5M 0 0 340k 0 0:11:35 0:01:01 0:10:34 $'1455k\r' 9 231M 9 22.1M 0 0 361k 0 0:10:55 0:01:02 0:09:53 $'1286k\r' 10 231M 10 23.3M 0 0 376k 0 0:10:29 0:01:03 0:09:26 $'1233k\r' 10 231M 10 24.0M 0 0 381k 0 0:10:20 0:01:04 0:09:16 $'1157k\r' 10 231M 10 25.1M 0 0 392k 0 0:10:03 0:01:05 0:08:58 $'1196k\r' 11 231M 11 26.5M 0 0 407k 0 0:09:41 0:01:06 0:08:35 $'1227k\r' 12 231M 12 28.0M 0 0 423k 0 0:09:18 0:01:07 0:08:11 $'1209k\r' 12 231M 12 29.1M 0 0 434k 0 0:09:05 0:01:08 0:07:57 $'1174k\r' 13 231M 13 30.3M 0 0 445k 0 0:08:51 0:01:09 0:07:42 $'1274k\r' 13 231M 13 31.4M 0 0 455k 0 0:08:40 0:01:10 0:07:30 $'1276k\r' 14 231M 14 32.4M 0 0 463k 0 0:08:30 0:01:11 0:07:19 $'1218k\r' 14 231M 14 33.5M 0 0 472k 0 0:08:21 0:01:12 0:07:09 $'1132k\r' 15 231M 15 34.8M 0 0 483k 0 0:08:09 0:01:13 0:06:56 $'1154k\r' 15 231M 15 36.0M 0 0 494k 0 0:07:59 0:01:14 0:06:45 $'1170k\r' 16 231M 16 37.3M 0 0 505k 0 0:07:48 0:01:15 0:06:33 $'1212k\r' 16 231M 16 38.2M 0 0 510k 0 0:07:43 0:01:16 0:06:27 $'1181k\r' 16 231M 16 39.3M 0 0 518k 0 0:07:36 0:01:17 0:06:19 $'1184k\r' 17 231M 17 41.0M 0 0 534k 0 0:07:22 0:01:18 0:06:04 $'1297k\r' 18 231M 18 43.2M 0 0 555k 0 0:07:06 0:01:19 0:05:47 $'1475k\r' 19 231M 19 45.0M 0 0 571k 0 0:06:54 0:01:20 0:05:34 $'1580k\r' 20 231M 20 46.9M 0 0 588k 0 0:06:42 0:01:21 0:05:21 $'1783k\r' 21 231M 21 48.8M 0 0 605k 0 0:06:31 0:01:22 0:05:09 $'1958k\r' 21 231M 21 49.8M 0 0 609k 0 0:06:28 0:01:23 0:05:05 $'1786k\r' 21 231M 21 49.9M 0 0 604k 0 0:06:32 0:01:24 0:05:08 $'1375k\r' 21 231M 21 50.1M 0 0 598k 0 0:06:35 0:01:25 0:05:10 $'1033k\r' 21 231M 21 50.2M 0 0 593k 0 0:06:39 0:01:26 0:05:13 $'675k\r' 21 231M 21 50.3M 0 0 588k 0 0:06:42 0:01:27 0:05:15 $'301k\r' 21 231M 21 50.5M 0 0 583k 0 0:06:46 0:01:28 0:05:18 $'141k\r' 21 231M 21 50.6M 0 0 578k 0 0:06:49 0:01:29 0:05:20 $'147k\r' 21 231M 21 50.7M 0 0 573k 0 0:06:53 0:01:30 0:05:23 $'137k\r' 21 231M 21 50.8M 0 0 568k 0 0:06:56 0:01:31 0:05:25 $'131k\r' 22 231M 22 51.0M 0 0 564k 0 0:06:59 0:01:32 0:05:27 $'145k\r' 22 231M 22 51.2M 0 0 559k 0 0:07:03 0:01:33 0:05:30 $'144k\r' 22 231M 22 51.3M 0 0 555k 0 0:07:06 0:01:34 0:05:32 $'137k\r' 22 231M 22 51.4M 0 0 550k 0 0:07:10 0:01:35 0:05:35 $'135k\r' 22 231M 22 51.5M 0 0 545k 0 0:07:13 0:01:36 0:05:37 $'134k\r' 22 231M 22 51.6M 0 0 541k 0 0:07:17 0:01:37 0:05:40 $'124k\r' 22 231M 22 51.8M 0 0 538k 0 0:07:20 0:01:38 0:05:42 $'133k\r' 22 231M 22 52.0M 0 0 534k 0 0:07:23 0:01:39 0:05:44 $'136k\r' 22 231M 22 52.1M 0 0 530k 0 0:07:26 0:01:40 0:05:46 $'149k\r' 22 231M 22 52.3M 0 0 526k 0 0:07:29 0:01:41 0:05:48 $'156k\r' 22 231M 22 52.4M 0 0 522k 0 0:07:33 0:01:42 0:05:51 $'147k\r' 22 231M 22 52.6M 0 0 519k 0 0:07:35 0:01:43 0:05:52 $'151k\r' 23 231M 23 53.4M 0 0 522k 0 0:07:33 0:01:44 0:05:49 $'293k\r' 23 231M 23 54.9M 0 0 532k 0 0:07:24 0:01:45 0:05:39 $'579k\r' 24 231M 24 56.4M 0 0 542k 0 0:07:16 0:01:46 0:05:30 $'861k\r' 24 231M 24 57.8M 0 0 549k 0 0:07:10 0:01:47 0:05:23 $'1106k\r' 25 231M 25 58.6M 0 0 552k 0 0:07:08 0:01:48 0:05:20 $'1237k\r' 25 231M 25 59.5M 0 0 556k 0 0:07:05 0:01:49 0:05:16 $'1251k\r' 26 231M 26 60.5M 0 0 560k 0 0:07:02 0:01:50 0:05:12 $'1137k\r' 26 231M 26 61.5M 0 0 564k 0 0:06:59 0:01:51 0:05:08 $'1043k\r' 27 231M 27 62.7M 0 0 570k 0 0:06:55 0:01:52 0:05:03 $'1006k\r' 27 231M 27 63.5M 0 0 572k 0 0:06:53 0:01:53 0:05:00 $'998k\r' 27 231M 27 64.1M 0 0 572k 0 0:06:53 0:01:54 0:04:59 $'937k\r' 28 231M 28 65.1M 0 0 576k 0 0:06:50 0:01:55 0:04:55 $'934k\r' 28 231M 28 66.4M 0 0 583k 0 0:06:45 0:01:56 0:04:49 $'1001k\r' 29 231M 29 67.5M 0 0 588k 0 0:06:42 0:01:57 0:04:45 $'997k\r' 29 231M 29 68.6M 0 0 592k 0 0:06:39 0:01:58 0:04:41 $'1048k\r' 29 231M 29 69.3M 0 0 593k 0 0:06:38 0:01:59 0:04:39 $'1075k\r' 30 231M 30 70.2M 0 0 595k 0 0:06:37 0:02:00 0:04:37 $'1045k\r' 30 231M 30 71.2M 0 0 599k 0 0:06:35 0:02:01 0:04:34 $'966k\r' 31 231M 31 72.1M 0 0 602k 0 0:06:33 0:02:02 0:04:31 $'944k\r' 31 231M 31 73.2M 0 0 606k 0 0:06:30 0:02:03 0:04:27 $'934k\r' 32 231M 32 74.5M 0 0 612k 0 0:06:26 0:02:04 0:04:22 $'1062k\r' 32 231M 32 75.9M 0 0 619k 0 0:06:22 0:02:05 0:04:17 $'1181k\r' 33 231M 33 77.0M 0 0 622k 0 0:06:20 0:02:06 0:04:14 $'1190k\r' 33 231M 33 77.6M 0 0 622k 0 0:06:20 0:02:07 0:04:13 $'1109k\r' 33 231M 33 78.4M 0 0 624k 0 0:06:19 0:02:08 0:04:11 $'1063k\r' 34 231M 34 79.2M 0 0 626k 0 0:06:18 0:02:09 0:04:09 $'964k\r' 34 231M 34 80.3M 0 0 629k 0 0:06:16 0:02:10 0:04:06 $'888k\r' 35 231M 35 81.2M 0 0 631k 0 0:06:14 0:02:11 0:04:03 $'865k\r' 35 231M 35 82.3M 0 0 635k 0 0:06:12 0:02:12 0:04:00 $'970k\r' 36 231M 36 83.6M 0 0 640k 0 0:06:09 0:02:13 0:03:56 $'1065k\r' 36 231M 36 84.7M 0 0 644k 0 0:06:07 0:02:14 0:03:53 $'1119k\r' 37 231M 37 85.7M 0 0 647k 0 0:06:06 0:02:15 0:03:51 $'1107k\r' 37 231M 37 86.6M 0 0 649k 0 0:06:04 0:02:16 0:03:48 $'1113k\r' 38 231M 38 88.0M 0 0 655k 0 0:06:01 0:02:17 0:03:44 $'1168k\r' 38 231M 38 89.8M 0 0 663k 0 0:05:57 0:02:18 0:03:39 $'1276k\r' 39 231M 39 91.6M 0 0 671k 0 0:05:52 0:02:19 0:03:33 $'1405k\r' 40 231M 40 93.2M 0 0 679k 0 0:05:48 0:02:20 0:03:28 $'1548k\r' 40 231M 40 94.6M 0 0 683k 0 0:05:46 0:02:21 0:03:25 $'1623k\r' 41 231M 41 95.9M 0 0 688k 0 0:05:44 0:02:22 0:03:22 $'1609k\r' 42 231M 42 97.5M 0 0 695k 0 0:05:40 0:02:23 0:03:17 $'1570k\r' 42 231M 42 98.6M 0 0 698k 0 0:05:39 0:02:24 0:03:15 $'1441k\r' 43 231M 43 100M 0 0 703k 0 0:05:36 0:02:25 0:03:11 $'1393k\r' 44 231M 44 101M 0 0 711k 0 0:05:33 0:02:26 0:03:07 $'1493k\r' 44 231M 44 103M 0 0 715k 0 0:05:31 0:02:27 0:03:04 $'1470k\r' 45 231M 45 104M 0 0 719k 0 0:05:29 0:02:28 0:03:01 $'1413k\r' 45 231M 45 105M 0 0 724k 0 0:05:27 0:02:29 0:02:58 $'1471k\r' 46 231M 46 107M 0 0 729k 0 0:05:24 0:02:30 0:02:54 $'1468k\r' 46 231M 46 108M 0 0 732k 0 0:05:23 0:02:31 0:02:52 $'1360k\r' 47 231M 47 109M 0 0 735k 0 0:05:22 0:02:32 0:02:50 $'1345k\r' 48 231M 48 111M 0 0 740k 0 0:05:19 0:02:33 0:02:46 $'1382k\r' 48 231M 48 112M 0 0 746k 0 0:05:17 0:02:34 0:02:43 $'1401k\r' 49 231M 49 114M 0 0 750k 0 0:05:15 0:02:35 0:02:40 $'1384k\r' 49 231M 49 115M 0 0 752k 0 0:05:14 0:02:36 0:02:38 $'1358k\r' 50 231M 50 115M 0 0 753k 0 0:05:14 0:02:37 0:02:37 $'1292k\r' 50 231M 50 116M 0 0 754k 0 0:05:13 0:02:38 0:02:35 $'1183k\r' 51 231M 51 118M 0 0 756k 0 0:05:13 0:02:39 0:02:34 $'1093k\r' 51 231M 51 119M 0 0 759k 0 0:05:11 0:02:40 0:02:31 $'1058k\r' 52 231M 52 120M 0 0 762k 0 0:05:10 0:02:41 0:02:29 $'1056k\r' 52 231M 52 121M 0 0 765k 0 0:05:09 0:02:42 0:02:27 $'1148k\r' 52 231M 52 122M 0 0 766k 0 0:05:09 0:02:43 0:02:26 $'1139k\r' 53 231M 53 123M 0 0 768k 0 0:05:08 0:02:44 0:02:24 $'1148k\r' 53 231M 53 124M 0 0 769k 0 0:05:07 0:02:45 0:02:22 $'1098k\r' 54 231M 54 125M 0 0 771k 0 0:05:07 0:02:46 0:02:21 $'1077k\r' 54 231M 54 126M 0 0 774k 0 0:05:05 0:02:47 0:02:18 $'1079k\r' 55 231M 55 128M 0 0 779k 0 0:05:03 0:02:48 0:02:15 $'1222k\r' 56 231M 56 129M 0 0 782k 0 0:05:02 0:02:49 0:02:13 $'1248k\r' 56 231M 56 130M 0 0 784k 0 0:05:02 0:02:50 0:02:12 $'1261k\r' 56 231M 56 131M 0 0 783k 0 0:05:02 0:02:51 0:02:11 $'1165k\r' 57 231M 57 132M 0 0 784k 0 0:05:01 0:02:52 0:02:09 $'1107k\r' 57 231M 57 133M 0 0 785k 0 0:05:01 0:02:53 0:02:08 $'985k\r' 57 231M 57 133M 0 0 784k 0 0:05:01 0:02:54 0:02:07 $'854k\r' 58 231M 58 134M 0 0 784k 0 0:05:02 0:02:55 0:02:07 $'776k\r' 58 231M 58 135M 0 0 783k 0 0:05:02 0:02:56 0:02:06 $'779k\r' 58 231M 58 135M 0 0 781k 0 0:05:03 0:02:57 0:02:06 $'670k\r' 58 231M 58 135M 0 0 779k 0 0:05:04 0:02:58 0:02:06 $'538k\r' 58 231M 58 136M 0 0 777k 0 0:05:04 0:02:59 0:02:05 $'500k\r' 59 231M 59 136M 0 0 775k 0 0:05:05 0:03:00 0:02:05 $'457k\r' 59 231M 59 137M 0 0 775k 0 0:05:05 0:03:01 0:02:04 $'522k\r' 60 231M 60 139M 0 0 780k 0 0:05:03 0:03:02 0:02:01 $'758k\r' 60 231M 60 141M 0 0 786k 0 0:05:01 0:03:03 0:01:58 $'1064k\r' 61 231M 61 142M 0 0 790k 0 0:04:59 0:03:04 0:01:55 $'1289k\r' 62 231M 62 144M 0 0 795k 0 0:04:57 0:03:05 0:01:52 $'1541k\r' 63 231M 63 146M 0 0 801k 0 0:04:55 0:03:06 0:01:49 $'1722k\r' 63 231M 63 147M 0 0 805k 0 0:04:54 0:03:07 0:01:47 $'1708k\r' 64 231M 64 149M 0 0 810k 0 0:04:52 0:03:08 0:01:44 $'1683k\r' 65 231M 65 151M 0 0 815k 0 0:04:50 0:03:09 0:01:41 $'1713k\r' 65 231M 65 152M 0 0 816k 0 0:04:50 0:03:10 0:01:40 $'1599k\r' 66 231M 66 153M 0 0 818k 0 0:04:49 0:03:11 0:01:38 $'1467k\r' 66 231M 66 154M 0 0 820k 0 0:04:48 0:03:12 0:01:36 $'1370k\r' 67 231M 67 156M 0 0 825k 0 0:04:47 0:03:13 0:01:34 $'1376k\r' 68 231M 68 158M 0 0 832k 0 0:04:44 0:03:14 0:01:30 $'1485k\r' 69 231M 69 160M 0 0 839k 0 0:04:42 0:03:15 0:01:27 $'1687k\r' 70 231M 70 162M 0 0 843k 0 0:04:40 0:03:16 0:01:24 $'1812k\r' 70 231M 70 163M 0 0 846k 0 0:04:39 0:03:17 0:01:22 $'1861k\r' 71 231M 71 164M 0 0 848k 0 0:04:39 0:03:18 0:01:21 $'1737k\r' 71 231M 71 165M 0 0 850k 0 0:04:38 0:03:19 0:01:19 $'1552k\r' 72 231M 72 167M 0 0 853k 0 0:04:37 0:03:20 0:01:17 $'1403k\r' 73 231M 73 168M 0 0 858k 0 0:04:36 0:03:21 0:01:15 $'1420k\r' 74 231M 74 171M 0 0 866k 0 0:04:33 0:03:22 0:01:11 $'1677k\r' 75 231M 75 173M 0 0 874k 0 0:04:30 0:03:23 0:01:07 $'1910k\r' 76 231M 76 175M 0 0 880k 0 0:04:29 0:03:24 0:01:05 $'2073k\r' 77 231M 77 178M 0 0 887k 0 0:04:26 0:03:25 0:01:01 $'2263k\r' 77 231M 77 179M 0 0 891k 0 0:04:25 0:03:26 0:00:59 $'2249k\r' 78 231M 78 181M 0 0 893k 0 0:04:25 0:03:27 0:00:58 $'1993k\r' 78 231M 78 182M 0 0 895k 0 0:04:24 0:03:28 0:00:56 $'1763k\r' 79 231M 79 184M 0 0 898k 0 0:04:23 0:03:29 0:00:54 $'1662k\r' 80 231M 80 185M 0 0 902k 0 0:04:22 0:03:30 0:00:52 $'1524k\r' 81 231M 81 187M 0 0 907k 0 0:04:21 0:03:31 0:00:50 $'1549k\r' 81 231M 81 189M 0 0 910k 0 0:04:20 0:03:32 0:00:48 $'1594k\r' 82 231M 82 190M 0 0 911k 0 0:04:19 0:03:33 0:00:46 $'1576k\r' 82 231M 82 191M 0 0 911k 0 0:04:19 0:03:34 0:00:45 $'1437k\r' 83 231M 83 192M 0 0 912k 0 0:04:19 0:03:35 0:00:44 $'1340k\r' 83 231M 83 193M 0 0 914k 0 0:04:19 0:03:36 0:00:43 $'1202k\r' 84 231M 84 195M 0 0 918k 0 0:04:17 0:03:37 0:00:40 $'1269k\r' 85 231M 85 197M 0 0 923k 0 0:04:16 0:03:38 0:00:38 $'1416k\r' 85 231M 85 198M 0 0 925k 0 0:04:15 0:03:39 0:00:36 $'1536k\r' 86 231M 86 199M 0 0 926k 0 0:04:15 0:03:40 0:00:35 $'1539k\r' 86 231M 86 200M 0 0 927k 0 0:04:15 0:03:41 0:00:34 $'1500k\r' 87 231M 87 201M 0 0 928k 0 0:04:15 0:03:42 0:00:33 $'1369k\r' 88 231M 88 203M 0 0 932k 0 0:04:13 0:03:43 0:00:30 $'1360k\r' 88 231M 88 205M 0 0 935k 0 0:04:13 0:03:44 0:00:29 $'1350k\r' 89 231M 89 206M 0 0 936k 0 0:04:13 0:03:45 0:00:28 $'1350k\r' 89 231M 89 207M 0 0 937k 0 0:04:12 0:03:46 0:00:26 $'1402k\r' 90 231M 90 209M 0 0 940k 0 0:04:11 0:03:47 0:00:24 $'1462k\r' 90 231M 90 210M 0 0 942k 0 0:04:11 0:03:48 0:00:23 $'1360k\r' 91 231M 91 211M 0 0 942k 0 0:04:11 0:03:49 0:00:22 $'1283k\r' 92 231M 92 212M 0 0 945k 0 0:04:10 0:03:50 0:00:20 $'1369k\r' 92 231M 92 215M 0 0 950k 0 0:04:09 0:03:51 0:00:18 $'1539k\r' 93 231M 93 217M 0 0 955k 0 0:04:08 0:03:52 0:00:16 $'1619k\r' 94 231M 94 219M 0 0 960k 0 0:04:06 0:03:53 0:00:13 $'1776k\r' 95 231M 95 221M 0 0 965k 0 0:04:05 0:03:54 0:00:11 $'2024k\r' 96 231M 96 223M 0 0 972k 0 0:04:03 0:03:55 0:00:08 $'2219k\r' 98 231M 98 226M 0 0 981k 0 0:04:01 0:03:56 0:00:05 $'2385k\r' 99 231M 99 229M 0 0 988k 0 0:03:59 0:03:57 0:00:02 $'2549k\r100' 231M 100 231M 0 0 993k 0 0:03:58 0:03:58 --:--:-- 2630k info: extracting RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. xz for package gnu-plct-0.20240324.0 info: package gnu-plct-0.20240324.0 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 ']' ++ '[' '!' -d /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ']' +++ ls /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep executable ++ grep dynamic ++ grep ELF +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=fe425b1b7a491bda2534bdb80ee503838d852ef8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line + linux-vdso.so.1 (0x0000003f97c87000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f97ba1000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f979a4000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f97c89000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31de725bef0a8f53eba36769a7be37eb620f7a2b, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x0000003fa013d000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa0052000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9fe55000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa013f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=6818370a530b64acc240e73fe321d99cad94a723, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x0000003f85e10000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f85c89000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f85a8c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f85e12000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x0000003fa2c83000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa2a7a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa2c85000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=7dcd2e59d53f6d4df6af7b3e89b2cfe8ca36b34e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x0000003fbdc22000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fbdb35000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fbd938000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fbdc24000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c6b55f7b647f4be0abdddcd7c409dc955bfb739e, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x0000003f8f806000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8f5fd000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8f808000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep dynamic ++ grep executable ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=0b8b290ca6f508e50e2ee64996305cc443ac5b9d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x0000003fb7633000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb7422000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb7635000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=4613a9d518fecab145c33db39baf9f5767ee9f99, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x0000003f84ef2000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f84ce9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f84ef4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x0000003faa8a2000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003faa699000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003faa8a4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=2973a50a4815d5fe12934ff5a9bf1db9f501bea8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x0000003fa2a77000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa286e000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa2a79000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=3fb51f60d57bc734aad41355e1322a1f69065a08, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x0000003f9b253000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9b04a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9b255000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=aa885dc4f52b6e5a2dc3ff98ff89813779396b51, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x0000003f8b001000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8adf8000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8b003000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=abe52db7cdccf81e5cfd6f19181c4774e518cfbf, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x0000003f9e204000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9dffb000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f9e206000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f4c79502e3260a437a576e9d0e8ff928caf63a22, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x0000003fafe3d000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fafc34000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fafe3f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=250949fdcaea85ea941660452bee5c21163be16d, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x0000003f8658a000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f86381000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8658c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=bdbc9147210bd108886a761a21f60e7c95dc50fe, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x0000003fa2985000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa277c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa2987000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ grep -vE '\(0x' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=11def813f48d99dd78f2eed8d17c73351bf9a388, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb + linux-vdso.so.1 (0x0000003fa5e37000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa5e28000) + libstdc++.so.6 => /lib/libstdc++.so.6 (0x0000003fa5000000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003fa5da1000) + libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0000003fa5d87000) + libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x0000003fa5d84000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa4e03000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa5e39000) + libatomic.so.1 => /lib/libatomic.so.1 (0x0000003fa5d79000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=31a93e40023c23a993b5e737137c15f485083b1f, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x0000003face79000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003facc70000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003face7b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=14684908d7a6f26b4fe822ccc2c8a1671837bf89, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x0000003fb3a6d000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb38cc000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb36cf000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb3a6f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x0000003fb2a40000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb2a31000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb2403000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb2a42000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=d621d8243b69073f468eab91ced0d57999d46d80, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x0000003f87878000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f87869000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f87203000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8787a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=f56289121545e9eb29e087f10379becc076ad124, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x0000003fb90cf000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb90c0000) + libm.so.6 => /usr/lib64/libm.so.6 (0x0000003fb9039000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb8e3c000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb90d1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=c1118173c3261176ae28b908f20c4041c87f3ab9, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x0000003f8985d000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f89774000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f89577000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8985f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=71097d0a87f2b1884d767d8642b4ad6efef42cb7, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x0000003f94ecf000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f94dcf000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f94bd2000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f94ed1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=be6ba9a387e69d9794c5ffe7787406e472079843, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x0000003f8c19d000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f8bfe6000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8bde9000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8c19f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=10be3c866f93235555c6a0c7224be62154ba798a, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x0000003fb87f1000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fb8706000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fb8509000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fb87f3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep dynamic ++ grep executable +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=5043d4e49f9753ae93a7066487ac2033dbf381e3, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x0000003f8b8eb000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f8b60a000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003f8b8ed000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep 'not found' ++ grep .so ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8fe5d0c1d00aa3df97c5cff89f80764eba1e3bf1, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x0000003fa0a38000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa0952000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa0755000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa0a3a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=38962ec5375f6fee8f010906f654b502273effd8, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x0000003fa0025000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003f9ff3e000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003f9fd41000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa0027000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=8601474e5e55cf97a2e4bd5b6ad6e7d631e19ee5, for GNU/Linux 4.15.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x0000003fa78db000) + libdl.so.2 => /usr/lib64/libdl.so.2 (0x0000003fa77db000) + libc.so.6 => /usr/lib64/libc.so.6 (0x0000003fa75de000) + /lib/ld-linux-riscv64-lp64d.so.1 (0x0000003fa78dd000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 +.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 294M 0 901k 0 0 426k 0 0:11:47 0:00:02 0:11:45 430k 1 294M 1 3733k 0 0 1202k 0 0:04:11 0:00:03 0:04:08 1209k 2 294M 2 6389k 0 0 1555k 0 0:03:14 0:00:04 0:03:10 1562k 3 294M 3 9717k 0 0 1899k 0 0:02:38 0:00:05 0:02:33 1906k 4 294M 4 14.1M 0 0 2353k 0 0:02:08 0:00:06 0:02:02 3042k 6 294M 6 19.3M 0 0 2783k 0 0:01:48 0:00:07 0:01:41 3778k 7 294M 7 23.4M 0 0 2951k 0 0:01:42 0:00:08 0:01:34 4032k 9 294M 9 28.5M 0 0 3185k 0 0:01:34 0:00:09 0:01:25 4504k 11 294M 11 32.6M 0 0 3295k 0 0:01:31 0:00:10 0:01:21 4712k 15 294M 15 45.0M 0 0 3609k 0 0:01:23 0:00:12 0:01:11 4768k 17 294M 17 50.7M 0 0 3779k 0 0:01:19 0:00:13 0:01:06 4851k 17 294M 17 52.6M 0 0 3820k 0 0:01:19 0:00:14 0:01:05 5000k 19 294M 19 57.7M 0 0 3909k 0 0:01:17 0:00:15 0:01:02 5029k 21 294M 21 62.4M 0 0 3953k 0 0:01:16 0:00:16 0:01:00 5064k 22 294M 22 66.5M 0 0 3978k 0 0:01:15 0:00:17 0:00:58 5067k 23 294M 23 70.4M 0 0 3980k 0 0:01:15 0:00:18 0:00:57 4614k 25 294M 25 73.7M 0 0 3950k 0 0:01:16 0:00:19 0:00:57 4317k 26 294M 26 77.4M 0 0 3945k 0 0:01:16 0:00:20 0:00:56 4055k 27 294M 27 82.1M 0 0 3983k 0 0:01:15 0:00:21 0:00:54 4083k 29 294M 29 87.7M 0 0 4047k 0 0:01:14 0:00:22 0:00:52 4283k 31 294M 31 92.2M 0 0 4089k 0 0:01:13 0:00:23 0:00:50 4481k 32 294M 32 96.6M 0 0 4105k 0 0:01:13 0:00:24 0:00:49 4700k 34 294M 34 101M 0 0 4119k 0 0:01:13 0:00:25 0:00:48 4815k 35 294M 35 105M 0 0 4142k 0 0:01:12 0:00:26 0:00:46 4815k 37 294M 37 109M 0 0 4148k 0 0:01:12 0:00:27 0:00:45 4603k 38 294M 38 114M 0 0 4167k 0 0:01:12 0:00:28 0:00:44 4530k 40 294M 40 119M 0 0 4199k 0 0:01:11 0:00:29 0:00:42 4651k 43 294M 43 127M 0 0 4277k 0 0:01:10 0:00:30 0:00:40 4999k 46 294M 46 137M 0 0 4345k 0 0:01:09 0:00:32 0:00:37 5189k 47 294M 47 140M 0 0 4352k 0 0:01:09 0:00:33 0:00:36 5267k 52 294M 52 154M 0 0 4432k 0 0:01:08 0:00:35 0:00:33 5406k 55 294M 55 163M 0 0 4498k 0 0:01:07 0:00:37 0:00:30 5576k 58 294M 58 172M 0 0 4435k 0 0:01:08 0:00:39 0:00:29 4959k 61 294M 61 182M 0 0 4571k 0 0:01:06 0:00:40 0:00:26 5433k 65 294M 65 192M 0 0 4642k 0 0:01:05 0:00:42 0:00:23 5677k 68 294M 68 202M 0 0 4714k 0 0:01:04 0:00:43 0:00:21 5945k 71 294M 71 212M 0 0 4752k 0 0:01:03 0:00:45 0:00:18 5861k 75 294M 75 221M 0 0 4799k 0 0:01:02 0:00:47 0:00:15 6753k 78 294M 78 231M 0 0 4864k 0 0:01:02 0:00:48 0:00:14 6386k 81 294M 81 239M 0 0 4919k 0 0:01:01 0:00:49 0:00:12 6503k 81 294M 81 241M 0 0 4924k 0 0:01:01 0:00:50 0:00:11 6412k 85 294M 85 252M 0 0 4962k 0 0:01:00 0:00:52 0:00:08 6457k 85 294M 85 252M 0 0 4961k 0 0:01:00 0:00:52 0:00:08 6566k 87 294M 87 257M 0 0 4969k 0 0:01:00 0:00:53 0:00:07 6144k 91 294M 91 270M 0 0 4988k 0 0:01:00 0:00:55 0:00:05 5598k 94 294M 94 279M 0 0 5023k 0 0:01:00 0:00:57 0:00:03 5745k 96 294M 96 284M 0 0 5062k 0 0:00:59 0:00:57 0:00:02 6023k 97 294M 97 287M 0 0 5059k 0 0:00:59 0:00:58 0:00:01 5902k 99 294M 99 292M 0 0 5065k 0 0:00:59 0:00:59 --:--:-- 5918k 100 294M 100 294M 0 0 5066k 0 0:00:59 0:00:59 --:--:-- 6122k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 +240222' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 .0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 294M 0 901k 0 0 426k 0 0:11:47 0:00:02 0:11:45 $'430k\r' 1 294M 1 3733k 0 0 1202k 0 0:04:11 0:00:03 0:04:08 $'1209k\r' 2 294M 2 6389k 0 0 1555k 0 0:03:14 0:00:04 0:03:10 $'1562k\r' 3 294M 3 9717k 0 0 1899k 0 0:02:38 0:00:05 0:02:33 $'1906k\r' 4 294M 4 14.1M 0 0 2353k 0 0:02:08 0:00:06 0:02:02 $'3042k\r' 6 294M 6 19.3M 0 0 2783k 0 0:01:48 0:00:07 0:01:41 $'3778k\r' 7 294M 7 23.4M 0 0 2951k 0 0:01:42 0:00:08 0:01:34 $'4032k\r' 9 294M 9 28.5M 0 0 3185k 0 0:01:34 0:00:09 0:01:25 $'4504k\r' 11 294M 11 32.6M 0 0 3295k 0 0:01:31 0:00:10 0:01:21 $'4712k\r' 15 294M 15 45.0M 0 0 3609k 0 0:01:23 0:00:12 0:01:11 $'4768k\r' 17 294M 17 50.7M 0 0 3779k 0 0:01:19 0:00:13 0:01:06 $'4851k\r' 17 294M 17 52.6M 0 0 3820k 0 0:01:19 0:00:14 0:01:05 $'5000k\r' 19 294M 19 57.7M 0 0 3909k 0 0:01:17 0:00:15 0:01:02 $'5029k\r' 21 294M 21 62.4M 0 0 3953k 0 0:01:16 0:00:16 0:01:00 $'5064k\r' 22 294M 22 66.5M 0 0 3978k 0 0:01:15 0:00:17 0:00:58 $'5067k\r' 23 294M 23 70.4M 0 0 3980k 0 0:01:15 0:00:18 0:00:57 $'4614k\r' 25 294M 25 73.7M 0 0 3950k 0 0:01:16 0:00:19 0:00:57 $'4317k\r' 26 294M 26 77.4M 0 0 3945k 0 0:01:16 0:00:20 0:00:56 $'4055k\r' 27 294M 27 82.1M 0 0 3983k 0 0:01:15 0:00:21 0:00:54 $'4083k\r' 29 294M 29 87.7M 0 0 4047k 0 0:01:14 0:00:22 0:00:52 $'4283k\r' 31 294M 31 92.2M 0 0 4089k 0 0:01:13 0:00:23 0:00:50 $'4481k\r' 32 294M 32 96.6M 0 0 4105k 0 0:01:13 0:00:24 0:00:49 $'4700k\r' 34 294M 34 101M 0 0 4119k 0 0:01:13 0:00:25 0:00:48 $'4815k\r' 35 294M 35 105M 0 0 4142k 0 0:01:12 0:00:26 0:00:46 $'4815k\r' 37 294M 37 109M 0 0 4148k 0 0:01:12 0:00:27 0:00:45 $'4603k\r' 38 294M 38 114M 0 0 4167k 0 0:01:12 0:00:28 0:00:44 $'4530k\r' 40 294M 40 119M 0 0 4199k 0 0:01:11 0:00:29 0:00:42 $'4651k\r' 43 294M 43 127M 0 0 4277k 0 0:01:10 0:00:30 0:00:40 $'4999k\r' 46 294M 46 137M 0 0 4345k 0 0:01:09 0:00:32 0:00:37 $'5189k\r' 47 294M 47 140M 0 0 4352k 0 0:01:09 0:00:33 0:00:36 $'5267k\r' 52 294M 52 154M 0 0 4432k 0 0:01:08 0:00:35 0:00:33 $'5406k\r' 55 294M 55 163M 0 0 4498k 0 0:01:07 0:00:37 0:00:30 $'5576k\r' 58 294M 58 172M 0 0 4435k 0 0:01:08 0:00:39 0:00:29 $'4959k\r' 61 294M 61 182M 0 0 4571k 0 0:01:06 0:00:40 0:00:26 $'5433k\r' 65 294M 65 192M 0 0 4642k 0 0:01:05 0:00:42 0:00:23 $'5677k\r' 68 294M 68 202M 0 0 4714k 0 0:01:04 0:00:43 0:00:21 $'5945k\r' 71 294M 71 212M 0 0 4752k 0 0:01:03 0:00:45 0:00:18 $'5861k\r' 75 294M 75 221M 0 0 4799k 0 0:01:02 0:00:47 0:00:15 $'6753k\r' 78 294M 78 231M 0 0 4864k 0 0:01:02 0:00:48 0:00:14 $'6386k\r' 81 294M 81 239M 0 0 4919k 0 0:01:01 0:00:49 0:00:12 $'6503k\r' 81 294M 81 241M 0 0 4924k 0 0:01:01 0:00:50 0:00:11 $'6412k\r' 85 294M 85 252M 0 0 4962k 0 0:01:00 0:00:52 0:00:08 $'6457k\r' 85 294M 85 252M 0 0 4961k 0 0:01:00 0:00:52 0:00:08 $'6566k\r' 87 294M 87 257M 0 0 4969k 0 0:01:00 0:00:53 0:00:07 $'6144k\r' 91 294M 91 270M 0 0 4988k 0 0:01:00 0:00:55 0:00:05 $'5598k\r' 94 294M 94 279M 0 0 5023k 0 0:01:00 0:00:57 0:00:03 $'5745k\r' 96 294M 96 284M 0 0 5062k 0 0:00:59 0:00:57 0:00:02 $'6023k\r' 97 294M 97 287M 0 0 5059k 0 0:00:59 0:00:58 0:00:01 $'5902k\r' 99 294M 99 292M 0 0 5065k 0 0:00:59 0:00:59 --:--:-- $'5918k\r100' 294M 100 294M 0 0 5066k 0 0:00:59 0:00:59 --:--:-- 6122k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 240222 +++ awk '{print $NF}' ++ bp=240222 ++ bpb=240222/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 .0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 294M 0 901k 0 0 426k 0 0:11:47 0:00:02 0:11:45 $'430k\r' 1 294M 1 3733k 0 0 1202k 0 0:04:11 0:00:03 0:04:08 $'1209k\r' 2 294M 2 6389k 0 0 1555k 0 0:03:14 0:00:04 0:03:10 $'1562k\r' 3 294M 3 9717k 0 0 1899k 0 0:02:38 0:00:05 0:02:33 $'1906k\r' 4 294M 4 14.1M 0 0 2353k 0 0:02:08 0:00:06 0:02:02 $'3042k\r' 6 294M 6 19.3M 0 0 2783k 0 0:01:48 0:00:07 0:01:41 $'3778k\r' 7 294M 7 23.4M 0 0 2951k 0 0:01:42 0:00:08 0:01:34 $'4032k\r' 9 294M 9 28.5M 0 0 3185k 0 0:01:34 0:00:09 0:01:25 $'4504k\r' 11 294M 11 32.6M 0 0 3295k 0 0:01:31 0:00:10 0:01:21 $'4712k\r' 15 294M 15 45.0M 0 0 3609k 0 0:01:23 0:00:12 0:01:11 $'4768k\r' 17 294M 17 50.7M 0 0 3779k 0 0:01:19 0:00:13 0:01:06 $'4851k\r' 17 294M 17 52.6M 0 0 3820k 0 0:01:19 0:00:14 0:01:05 $'5000k\r' 19 294M 19 57.7M 0 0 3909k 0 0:01:17 0:00:15 0:01:02 $'5029k\r' 21 294M 21 62.4M 0 0 3953k 0 0:01:16 0:00:16 0:01:00 $'5064k\r' 22 294M 22 66.5M 0 0 3978k 0 0:01:15 0:00:17 0:00:58 $'5067k\r' 23 294M 23 70.4M 0 0 3980k 0 0:01:15 0:00:18 0:00:57 $'4614k\r' 25 294M 25 73.7M 0 0 3950k 0 0:01:16 0:00:19 0:00:57 $'4317k\r' 26 294M 26 77.4M 0 0 3945k 0 0:01:16 0:00:20 0:00:56 $'4055k\r' 27 294M 27 82.1M 0 0 3983k 0 0:01:15 0:00:21 0:00:54 $'4083k\r' 29 294M 29 87.7M 0 0 4047k 0 0:01:14 0:00:22 0:00:52 $'4283k\r' 31 294M 31 92.2M 0 0 4089k 0 0:01:13 0:00:23 0:00:50 $'4481k\r' 32 294M 32 96.6M 0 0 4105k 0 0:01:13 0:00:24 0:00:49 $'4700k\r' 34 294M 34 101M 0 0 4119k 0 0:01:13 0:00:25 0:00:48 $'4815k\r' 35 294M 35 105M 0 0 4142k 0 0:01:12 0:00:26 0:00:46 $'4815k\r' 37 294M 37 109M 0 0 4148k 0 0:01:12 0:00:27 0:00:45 $'4603k\r' 38 294M 38 114M 0 0 4167k 0 0:01:12 0:00:28 0:00:44 $'4530k\r' 40 294M 40 119M 0 0 4199k 0 0:01:11 0:00:29 0:00:42 $'4651k\r' 43 294M 43 127M 0 0 4277k 0 0:01:10 0:00:30 0:00:40 $'4999k\r' 46 294M 46 137M 0 0 4345k 0 0:01:09 0:00:32 0:00:37 $'5189k\r' 47 294M 47 140M 0 0 4352k 0 0:01:09 0:00:33 0:00:36 $'5267k\r' 52 294M 52 154M 0 0 4432k 0 0:01:08 0:00:35 0:00:33 $'5406k\r' 55 294M 55 163M 0 0 4498k 0 0:01:07 0:00:37 0:00:30 $'5576k\r' 58 294M 58 172M 0 0 4435k 0 0:01:08 0:00:39 0:00:29 $'4959k\r' 61 294M 61 182M 0 0 4571k 0 0:01:06 0:00:40 0:00:26 $'5433k\r' 65 294M 65 192M 0 0 4642k 0 0:01:05 0:00:42 0:00:23 $'5677k\r' 68 294M 68 202M 0 0 4714k 0 0:01:04 0:00:43 0:00:21 $'5945k\r' 71 294M 71 212M 0 0 4752k 0 0:01:03 0:00:45 0:00:18 $'5861k\r' 75 294M 75 221M 0 0 4799k 0 0:01:02 0:00:47 0:00:15 $'6753k\r' 78 294M 78 231M 0 0 4864k 0 0:01:02 0:00:48 0:00:14 $'6386k\r' 81 294M 81 239M 0 0 4919k 0 0:01:01 0:00:49 0:00:12 $'6503k\r' 81 294M 81 241M 0 0 4924k 0 0:01:01 0:00:50 0:00:11 $'6412k\r' 85 294M 85 252M 0 0 4962k 0 0:01:00 0:00:52 0:00:08 $'6457k\r' 85 294M 85 252M 0 0 4961k 0 0:01:00 0:00:52 0:00:08 $'6566k\r' 87 294M 87 257M 0 0 4969k 0 0:01:00 0:00:53 0:00:07 $'6144k\r' 91 294M 91 270M 0 0 4988k 0 0:01:00 0:00:55 0:00:05 $'5598k\r' 94 294M 94 279M 0 0 5023k 0 0:01:00 0:00:57 0:00:03 $'5745k\r' 96 294M 96 284M 0 0 5062k 0 0:00:59 0:00:57 0:00:02 $'6023k\r' 97 294M 97 287M 0 0 5059k 0 0:00:59 0:00:58 0:00:01 $'5902k\r' 99 294M 99 292M 0 0 5065k 0 0:00:59 0:00:59 --:--:-- $'5918k\r100' 294M 100 294M 0 0 5066k 0 0:00:59 0:00:59 --:--:-- 6122k info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 240222 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 240222 ']' ++ '[' '!' -d 240222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8 +c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 1 42.8M 1 817k 0 0 349k 0 0:02:05 0:00:02 0:02:03 352k 5 42.8M 5 2481k 0 0 744k 0 0:00:58 0:00:03 0:00:55 748k 9 42.8M 9 4321k 0 0 997k 0 0:00:43 0:00:04 0:00:39 1001k 14 42.8M 14 6353k 0 0 1192k 0 0:00:36 0:00:05 0:00:31 1568k 18 42.8M 18 7953k 0 0 1255k 0 0:00:34 0:00:06 0:00:28 1621k 22 42.8M 22 9825k 0 0 1339k 0 0:00:32 0:00:07 0:00:25 1802k 26 42.8M 26 11.3M 0 0 1392k 0 0:00:31 0:00:08 0:00:23 1824k 31 42.8M 31 13.3M 0 0 1464k 0 0:00:29 0:00:09 0:00:20 1868k 36 42.8M 36 15.5M 0 0 1540k 0 0:00:28 0:00:10 0:00:18 1913k 40 42.8M 40 17.2M 0 0 1560k 0 0:00:28 0:00:11 0:00:17 1947k 44 42.8M 44 18.8M 0 0 1568k 0 0:00:27 0:00:12 0:00:15 1903k 47 42.8M 47 20.3M 0 0 1562k 0 0:00:28 0:00:13 0:00:15 1846k 51 42.8M 51 21.9M 0 0 1564k 0 0:00:28 0:00:14 0:00:14 1749k 54 42.8M 54 23.1M 0 0 1545k 0 0:00:28 0:00:15 0:00:13 1555k 56 42.8M 56 24.3M 0 0 1528k 0 0:00:28 0:00:16 0:00:12 1455k 59 42.8M 59 25.6M 0 0 1514k 0 0:00:28 0:00:17 0:00:11 1380k 63 42.8M 63 27.3M 0 0 1526k 0 0:00:28 0:00:18 0:00:10 1430k 68 42.8M 68 29.2M 0 0 1551k 0 0:00:28 0:00:19 0:00:09 1516k 73 42.8M 73 31.4M 0 0 1584k 0 0:00:27 0:00:20 0:00:07 1705k 79 42.8M 79 34.1M 0 0 1641k 0 0:00:26 0:00:21 0:00:05 2009k 84 42.8M 84 36.1M 0 0 1656k 0 0:00:26 0:00:22 0:00:04 2148k 88 42.8M 88 37.8M 0 0 1659k 0 0:00:26 0:00:23 0:00:03 2145k 92 42.8M 92 39.5M 0 0 1662k 0 0:00:26 0:00:24 0:00:02 2092k 96 42.8M 96 41.4M 0 0 1677k 0 0:00:26 0:00:25 0:00:01 2051k 100 42.8M 100 42.8M 0 0 1688k 0 0:00:25 0:00:25 --:--:-- 1905k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris +cv64-plct-elf.tar.xz for package +gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.2024 +0223.0-ruyi.20240224' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8 c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 1 42.8M 1 817k 0 0 349k 0 0:02:05 0:00:02 0:02:03 $'352k\r' 5 42.8M 5 2481k 0 0 744k 0 0:00:58 0:00:03 0:00:55 $'748k\r' 9 42.8M 9 4321k 0 0 997k 0 0:00:43 0:00:04 0:00:39 $'1001k\r' 14 42.8M 14 6353k 0 0 1192k 0 0:00:36 0:00:05 0:00:31 $'1568k\r' 18 42.8M 18 7953k 0 0 1255k 0 0:00:34 0:00:06 0:00:28 $'1621k\r' 22 42.8M 22 9825k 0 0 1339k 0 0:00:32 0:00:07 0:00:25 $'1802k\r' 26 42.8M 26 11.3M 0 0 1392k 0 0:00:31 0:00:08 0:00:23 $'1824k\r' 31 42.8M 31 13.3M 0 0 1464k 0 0:00:29 0:00:09 0:00:20 $'1868k\r' 36 42.8M 36 15.5M 0 0 1540k 0 0:00:28 0:00:10 0:00:18 $'1913k\r' 40 42.8M 40 17.2M 0 0 1560k 0 0:00:28 0:00:11 0:00:17 $'1947k\r' 44 42.8M 44 18.8M 0 0 1568k 0 0:00:27 0:00:12 0:00:15 $'1903k\r' 47 42.8M 47 20.3M 0 0 1562k 0 0:00:28 0:00:13 0:00:15 $'1846k\r' 51 42.8M 51 21.9M 0 0 1564k 0 0:00:28 0:00:14 0:00:14 $'1749k\r' 54 42.8M 54 23.1M 0 0 1545k 0 0:00:28 0:00:15 0:00:13 $'1555k\r' 56 42.8M 56 24.3M 0 0 1528k 0 0:00:28 0:00:16 0:00:12 $'1455k\r' 59 42.8M 59 25.6M 0 0 1514k 0 0:00:28 0:00:17 0:00:11 $'1380k\r' 63 42.8M 63 27.3M 0 0 1526k 0 0:00:28 0:00:18 0:00:10 $'1430k\r' 68 42.8M 68 29.2M 0 0 1551k 0 0:00:28 0:00:19 0:00:09 $'1516k\r' 73 42.8M 73 31.4M 0 0 1584k 0 0:00:27 0:00:20 0:00:07 $'1705k\r' 79 42.8M 79 34.1M 0 0 1641k 0 0:00:26 0:00:21 0:00:05 $'2009k\r' 84 42.8M 84 36.1M 0 0 1656k 0 0:00:26 0:00:22 0:00:04 $'2148k\r' 88 42.8M 88 37.8M 0 0 1659k 0 0:00:26 0:00:23 0:00:03 $'2145k\r' 92 42.8M 92 39.5M 0 0 1662k 0 0:00:26 0:00:24 0:00:02 $'2092k\r' 96 42.8M 96 41.4M 0 0 1677k 0 0:00:26 0:00:25 0:00:01 $'2051k\r100' 42.8M 100 42.8M 0 0 1688k 0 0:00:25 0:00:25 --:--:-- 1905k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.2024 0223.0-ruyi.20240224 +++ awk '{print $NF}' ++ bp=0223.0-ruyi.20240224 ++ bpb=0223.0-ruyi.20240224/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz to /home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8 c718031673d-HOST-riscv64-linux-gnu-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- $'0\r' 1 42.8M 1 817k 0 0 349k 0 0:02:05 0:00:02 0:02:03 $'352k\r' 5 42.8M 5 2481k 0 0 744k 0 0:00:58 0:00:03 0:00:55 $'748k\r' 9 42.8M 9 4321k 0 0 997k 0 0:00:43 0:00:04 0:00:39 $'1001k\r' 14 42.8M 14 6353k 0 0 1192k 0 0:00:36 0:00:05 0:00:31 $'1568k\r' 18 42.8M 18 7953k 0 0 1255k 0 0:00:34 0:00:06 0:00:28 $'1621k\r' 22 42.8M 22 9825k 0 0 1339k 0 0:00:32 0:00:07 0:00:25 $'1802k\r' 26 42.8M 26 11.3M 0 0 1392k 0 0:00:31 0:00:08 0:00:23 $'1824k\r' 31 42.8M 31 13.3M 0 0 1464k 0 0:00:29 0:00:09 0:00:20 $'1868k\r' 36 42.8M 36 15.5M 0 0 1540k 0 0:00:28 0:00:10 0:00:18 $'1913k\r' 40 42.8M 40 17.2M 0 0 1560k 0 0:00:28 0:00:11 0:00:17 $'1947k\r' 44 42.8M 44 18.8M 0 0 1568k 0 0:00:27 0:00:12 0:00:15 $'1903k\r' 47 42.8M 47 20.3M 0 0 1562k 0 0:00:28 0:00:13 0:00:15 $'1846k\r' 51 42.8M 51 21.9M 0 0 1564k 0 0:00:28 0:00:14 0:00:14 $'1749k\r' 54 42.8M 54 23.1M 0 0 1545k 0 0:00:28 0:00:15 0:00:13 $'1555k\r' 56 42.8M 56 24.3M 0 0 1528k 0 0:00:28 0:00:16 0:00:12 $'1455k\r' 59 42.8M 59 25.6M 0 0 1514k 0 0:00:28 0:00:17 0:00:11 $'1380k\r' 63 42.8M 63 27.3M 0 0 1526k 0 0:00:28 0:00:18 0:00:10 $'1430k\r' 68 42.8M 68 29.2M 0 0 1551k 0 0:00:28 0:00:19 0:00:09 $'1516k\r' 73 42.8M 73 31.4M 0 0 1584k 0 0:00:27 0:00:20 0:00:07 $'1705k\r' 79 42.8M 79 34.1M 0 0 1641k 0 0:00:26 0:00:21 0:00:05 $'2009k\r' 84 42.8M 84 36.1M 0 0 1656k 0 0:00:26 0:00:22 0:00:04 $'2148k\r' 88 42.8M 88 37.8M 0 0 1659k 0 0:00:26 0:00:23 0:00:03 $'2145k\r' 92 42.8M 92 39.5M 0 0 1662k 0 0:00:26 0:00:24 0:00:02 $'2092k\r' 96 42.8M 96 41.4M 0 0 1677k 0 0:00:26 0:00:25 0:00:01 $'2051k\r100' 42.8M 100 42.8M 0 0 1688k 0 0:00:25 0:00:25 --:--:-- 1905k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-HOST-riscv64-linux-gnu-ris cv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-rv64ilp32-elf-0.2024 0223.0-ruyi.20240224 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 0223.0-ruyi.20240224 ']' ++ '[' '!' -d 0223.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for +host linux/riscv64' ++ retc=2 +++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package llvm-upstream-17.0.5-ruyi.20231121 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check toolchain/llvm-upstream no binary for current host' ++ message='Check toolchain/llvm-upstream no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check toolchain/llvm-upstream no binary for current host' +Wed Apr 10 12:29:07 2024 - WARN - Check toolchain/llvm-upstream no binary for current host ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-system-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-system-riscv-upstream no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-system-riscv-upstream no binary for current host' +Wed Apr 10 12:29:56 2024 - WARN - Check emulator/qemu-system-riscv-upstream no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +declares no binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-xthead no binary for current host' ++ message='Check emulator/qemu-user-riscv-xthead no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-xthead no binary for current host' +Wed Apr 10 12:30:17 2024 - WARN - Check emulator/qemu-user-riscv-xthead no binary for current host ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no +binary for host linux/riscv64' ++ retc=2 +++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=linux/riscv64 ++ bpb=linux/riscv64/bin ++ echo fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ grep 'no binary' +fatal error: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 declares no binary for host linux/riscv64 ++ [[ 0x == \0\x ]] ++ [[ 2x != \0\x ]] ++ LOG_WARN 'Check emulator/qemu-user-riscv-upstream no binary for current host' ++ message='Check emulator/qemu-user-riscv-upstream no binary for current host' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Check emulator/qemu-user-riscv-upstream no binary for current host' +Wed Apr 10 12:30:38 2024 - WARN - Check emulator/qemu-user-riscv-upstream no binary for current host ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 12:30:40 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 12:30:42 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 12:30:43 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 12:30:45 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 12:31:24 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-10_08_49.log b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-10_08_49.log new file mode 100644 index 00000000..d1aff074 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-10_08_49.log @@ -0,0 +1,667 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 10:08:53 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 10:09:30 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 10:09:36 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 10:09:43 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 47 20.8M 47 10.0M 0 0 2719k 0 0:00:07 0:00:03 0:00:04 2732k 64 20.8M 64 13.4M 0 0 3185k 0 0:00:06 0:00:04 0:00:02 3199k 76 20.8M 76 15.8M 0 0 3256k 0 0:00:06 0:00:04 0:00:02 3267k 100 20.8M 100 20.8M 0 0 3441k 0 0:00:06 0:00:06 --:--:-- 3452k 100 20.8M 100 20.8M 0 0 3435k 0 0:00:06 0:00:06 --:--:-- 4356k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpmg86c_d9 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpmg86c_d9 ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmpmg86c_d9 ']' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 10:12:56 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpmg86c_d9 ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmpmg86c_d9 ']' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 10:13:02 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpmg86c_d9 ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 10:13:04 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 10:13:06 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-HOST-riscv +64-linux-gnu-riscv64-plct-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-HOST-riscv64 +-linux-gnu-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 2 231M 2 5360k 0 0 1985k 0 0:01:59 0:00:02 0:01:57 1997k 3 231M 3 8383k 0 0 2532k 0 0:01:33 0:00:03 0:01:30 2544k 7 231M 7 16.4M 0 0 2529k 0 0:01:33 0:00:06 0:01:27 2535k 7 231M 7 16.7M 0 0 2380k 0 0:01:39 0:00:07 0:01:32 2385k 7 231M 7 17.3M 0 0 2158k 0 0:01:49 0:00:08 0:01:41 2553k 7 231M 7 17.8M 0 0 1989k 0 0:01:59 0:00:09 0:01:50 1991k 7 231M 7 18.2M 0 0 1731k 0 0:02:16 0:00:10 0:02:06 1376k 7 231M 7 18.3M 0 0 1675k 0 0:02:21 0:00:11 0:02:10 419k 8 231M 8 18.6M 0 0 1565k 0 0:02:31 0:00:12 0:02:19 393k 8 231M 8 18.8M 0 0 1460k 0 0:02:42 0:00:13 0:02:29 310k 8 231M 8 19.4M 0 0 1400k 0 0:02:49 0:00:14 0:02:35 318k 8 231M 8 19.9M 0 0 1340k 0 0:02:56 0:00:15 0:02:41 387k 8 231M 8 20.3M 0 0 1284k 0 0:03:04 0:00:16 0:02:48 404k 8 231M 8 20.6M 0 0 1229k 0 0:03:12 0:00:17 0:02:55 406k 9 231M 9 20.9M 0 0 1178k 0 0:03:21 0:00:18 0:03:03 432k 9 231M 9 21.3M 0 0 1139k 0 0:03:27 0:00:19 0:03:08 395k 9 231M 9 21.7M 0 0 1103k 0 0:03:34 0:00:20 0:03:14 384k 9 231M 9 21.9M 0 0 1058k 0 0:03:43 0:00:21 0:03:22 326k 9 231M 9 22.1M 0 0 1023k 0 0:03:51 0:00:22 0:03:29 313k 9 231M 9 22.4M 0 0 989k 0 0:03:59 0:00:23 0:03:36 300k 9 231M 9 22.6M 0 0 956k 0 0:04:07 0:00:24 0:03:43 255k 9 231M 9 22.9M 0 0 933k 0 0:04:13 0:00:25 0:03:48 243k 10 231M 10 23.4M 0 0 917k 0 0:04:18 0:00:26 0:03:52 319k 10 231M 10 24.8M 0 0 934k 0 0:04:13 0:00:27 0:03:46 540k 11 231M 11 27.0M 0 0 980k 0 0:04:01 0:00:28 0:03:33 942k 12 231M 12 29.9M 0 0 1051k 0 0:03:45 0:00:29 0:03:16 1513k 16 231M 16 39.3M 0 0 1254k 0 0:03:08 0:00:32 0:02:36 2423k 17 231M 17 39.6M 0 0 1259k 0 0:03:08 0:00:32 0:02:36 2752k 18 231M 18 43.2M 0 0 1335k 0 0:02:57 0:00:33 0:02:24 3151k 20 231M 20 47.2M 0 0 1415k 0 0:02:47 0:00:34 0:02:13 3460k 22 231M 22 51.0M 0 0 1485k 0 0:02:39 0:00:35 0:02:04 3594k 23 231M 23 55.0M 0 0 1556k 0 0:02:32 0:00:36 0:01:56 3924k 25 231M 25 58.6M 0 0 1614k 0 0:02:26 0:00:37 0:01:49 3897k 27 231M 27 62.5M 0 0 1676k 0 0:02:21 0:00:38 0:01:43 3944k 29 231M 29 67.6M 0 0 1762k 0 0:02:14 0:00:39 0:01:35 4097k 31 231M 31 72.1M 0 0 1836k 0 0:02:08 0:00:40 0:01:28 4304k 33 231M 33 76.4M 0 0 1898k 0 0:02:04 0:00:41 0:01:23 4380k 34 231M 34 80.3M 0 0 1950k 0 0:02:01 0:00:42 0:01:19 4449k 36 231M 36 84.0M 0 0 1993k 0 0:01:58 0:00:43 0:01:15 4412k 37 231M 37 86.7M 0 0 2008k 0 0:01:57 0:00:44 0:01:13 3974k 38 231M 38 88.7M 0 0 2010k 0 0:01:57 0:00:45 0:01:12 3414k 39 231M 39 90.8M 0 0 2012k 0 0:01:57 0:00:46 0:01:11 2952k 40 231M 40 92.8M 0 0 2013k 0 0:01:57 0:00:47 0:01:10 2545k 40 231M 40 94.4M 0 0 2005k 0 0:01:58 0:00:48 0:01:10 2112k 41 231M 41 96.5M 0 0 2009k 0 0:01:57 0:00:49 0:01:08 2016k 45 231M 45 106M 0 0 1988k 0 0:01:59 0:00:54 0:01:05 1882k 45 231M 45 106M 0 0 1954k 0 0:02:01 0:00:55 0:01:06 1668k 48 231M 48 112M 0 0 2040k 0 0:01:56 0:00:56 0:01:00 2176k 49 231M 49 114M 0 0 2050k 0 0:01:55 0:00:57 0:00:58 2288k 50 231M 50 117M 0 0 2073k 0 0:01:54 0:00:58 0:00:56 2423k 52 231M 52 120M 0 0 2092k 0 0:01:53 0:00:59 0:00:54 3333k 53 231M 53 123M 0 0 2095k 0 0:01:53 0:01:00 0:00:53 3785k 54 231M 54 125M 0 0 2099k 0 0:01:52 0:01:01 0:00:51 2835k 55 231M 55 128M 0 0 2111k 0 0:01:52 0:01:02 0:00:50 2811k 56 231M 56 131M 0 0 2127k 0 0:01:51 0:01:03 0:00:48 2749k 58 231M 58 134M 0 0 2145k 0 0:01:50 0:01:04 0:00:46 2765k 59 231M 59 138M 0 0 2174k 0 0:01:48 0:01:05 0:00:43 3133k 61 231M 61 142M 0 0 2197k 0 0:01:47 0:01:06 0:00:41 3398k 62 231M 62 145M 0 0 2213k 0 0:01:47 0:01:07 0:00:40 3488k 64 231M 64 149M 0 0 2239k 0 0:01:45 0:01:08 0:00:37 3622k 66 231M 66 152M 0 0 2260k 0 0:01:44 0:01:09 0:00:35 3746k 66 231M 66 154M 0 0 2255k 0 0:01:45 0:01:10 0:00:35 3310k 67 231M 67 157M 0 0 2260k 0 0:01:44 0:01:11 0:00:33 3097k 69 231M 69 160M 0 0 2270k 0 0:01:44 0:01:12 0:00:32 3032k 70 231M 70 163M 0 0 2287k 0 0:01:43 0:01:13 0:00:30 2965k 72 231M 72 166M 0 0 2303k 0 0:01:42 0:01:14 0:00:28 2896k 73 231M 73 169M 0 0 2311k 0 0:01:42 0:01:15 0:00:27 3101k 74 231M 74 172M 0 0 2313k 0 0:01:42 0:01:16 0:00:26 3075k 75 231M 75 175M 0 0 2325k 0 0:01:41 0:01:17 0:00:24 3114k 77 231M 77 178M 0 0 2333k 0 0:01:41 0:01:18 0:00:23 3010k 78 231M 78 181M 0 0 2340k 0 0:01:41 0:01:19 0:00:22 2886k 79 231M 79 184M 0 0 2349k 0 0:01:40 0:01:20 0:00:20 2922k 81 231M 81 188M 0 0 2362k 0 0:01:40 0:01:21 0:00:19 3059k 82 231M 82 190M 0 0 2374k 0 0:01:39 0:01:22 0:00:17 3143k 84 231M 84 195M 0 0 2402k 0 0:01:38 0:01:23 0:00:15 3469k 86 231M 86 200M 0 0 2437k 0 0:01:37 0:01:24 0:00:13 3978k 88 231M 88 203M 0 0 2448k 0 0:01:36 0:01:25 0:00:11 4037k 89 231M 89 206M 0 0 2453k 0 0:01:36 0:01:26 0:00:10 4052k 90 231M 90 209M 0 0 2457k 0 0:01:36 0:01:27 0:00:09 3815k 91 231M 91 211M 0 0 2455k 0 0:01:36 0:01:28 0:00:08 3352k 92 231M 92 214M 0 0 2460k 0 0:01:36 0:01:29 0:00:07 2842k 93 231M 93 217M 0 0 2468k 0 0:01:35 0:01:30 0:00:05 2803k 95 231M 95 220M 0 0 2473k 0 0:01:35 0:01:31 0:00:04 2808k 95 231M 95 221M 0 0 2465k 0 0:01:36 0:01:32 0:00:04 2598k 96 231M 96 223M 0 0 2460k 0 0:01:36 0:01:33 0:00:03 2532k 98 231M 98 226M 0 0 2465k 0 0:01:36 0:01:34 0:00:02 2554k 99 231M 99 230M 0 0 2478k 0 0:01:35 0:01:35 --:--:-- 2659k 100 231M 100 231M 0 0 2481k 0 0:01:35 0:01:35 --:--:-- 2667k +info: extracting +RuyiSDK-20240324-PLCT-Sources-HOST-riscv64-linux-gnu-riscv64-plct-linux-gnu.tar. +xz for package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-0.20240324.0 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8 +.0-HOST-riscv64-linux-gnu-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 294M 0 878k 0 0 406k 0 0:12:22 0:00:02 0:12:20 410k 0 294M 0 2782k 0 0 880k 0 0:05:42 0:00:03 0:05:39 886k 1 294M 1 5342k 0 0 1277k 0 0:03:56 0:00:04 0:03:52 1283k 2 294M 2 7678k 0 0 1488k 0 0:03:22 0:00:05 0:03:17 1494k 3 294M 3 10.4M 0 0 1737k 0 0:02:53 0:00:06 0:02:47 2194k 4 294M 4 14.1M 0 0 2020k 0 0:02:29 0:00:07 0:02:22 2716k 5 294M 5 17.3M 0 0 2180k 0 0:02:18 0:00:08 0:02:10 3000k 7 294M 7 20.7M 0 0 2314k 0 0:02:10 0:00:09 0:02:01 3185k 9 294M 9 27.3M 0 0 1795k 0 0:02:48 0:00:15 0:02:33 1948k 9 294M 9 28.8M 0 0 1826k 0 0:02:45 0:00:16 0:02:29 1881k 10 294M 10 31.9M 0 0 1909k 0 0:02:38 0:00:17 0:02:21 1830k 12 294M 12 35.9M 0 0 2024k 0 0:02:29 0:00:18 0:02:11 1896k 13 294M 13 40.1M 0 0 2145k 0 0:02:20 0:00:19 0:02:01 1990k 15 294M 15 46.5M 0 0 2327k 0 0:02:09 0:00:20 0:01:49 4020k 17 294M 17 50.7M 0 0 2440k 0 0:02:03 0:00:21 0:01:42 4367k 18 294M 18 54.5M 0 0 2521k 0 0:01:59 0:00:22 0:01:37 4624k 20 294M 20 59.9M 0 0 2648k 0 0:01:54 0:00:23 0:01:31 4923k 22 294M 22 65.5M 0 0 2774k 0 0:01:48 0:00:24 0:01:24 5171k 25 294M 25 75.0M 0 0 2883k 0 0:01:44 0:00:26 0:01:18 4721k 25 294M 25 75.0M 0 0 1612k 0 0:03:07 0:00:47 0:02:20 944k 28 294M 28 84.8M 0 0 1783k 0 0:02:49 0:00:48 0:02:01 1167k 32 294M 32 94.5M 0 0 1913k 0 0:02:37 0:00:50 0:01:47 1292k 33 294M 33 99.2M 0 0 1982k 0 0:02:32 0:00:51 0:01:41 1274k 35 294M 35 103M 0 0 2037k 0 0:02:28 0:00:52 0:01:36 1153k 37 294M 37 110M 0 0 2116k 0 0:02:22 0:00:53 0:01:29 6358k 40 294M 40 119M 0 0 2216k 0 0:02:16 0:00:55 0:01:21 5386k 43 294M 43 129M 0 0 2345k 0 0:02:08 0:00:56 0:01:12 6023k 45 294M 45 132M 0 0 2379k 0 0:02:06 0:00:57 0:01:09 5797k 48 294M 48 142M 0 0 2470k 0 0:02:02 0:00:58 0:01:04 5848k 51 294M 51 151M 0 0 2536k 0 0:01:59 0:01:01 0:00:58 5390k 54 294M 54 161M 0 0 2643k 0 0:01:54 0:01:02 0:00:52 5936k 58 294M 58 171M 0 0 2739k 0 0:01:50 0:01:04 0:00:46 5706k 59 294M 59 176M 0 0 2791k 0 0:01:48 0:01:04 0:00:44 5933k 60 294M 60 178M 0 0 2798k 0 0:01:47 0:01:05 0:00:42 5860k 61 294M 61 182M 0 0 2822k 0 0:01:46 0:01:06 0:00:40 6332k 65 294M 65 193M 0 0 2904k 0 0:01:43 0:01:08 0:00:35 5702k 69 294M 69 203M 0 0 2976k 0 0:01:41 0:01:10 0:00:31 5498k 72 294M 72 213M 0 0 3035k 0 0:01:39 0:01:11 0:00:28 5202k 75 294M 75 223M 0 0 3108k 0 0:01:37 0:01:13 0:00:24 5535k 78 294M 78 232M 0 0 3168k 0 0:01:35 0:01:15 0:00:20 5685k 81 294M 81 240M 0 0 3228k 0 0:01:33 0:01:16 0:00:17 6050k 83 294M 83 244M 0 0 3248k 0 0:01:32 0:01:17 0:00:15 5922k 86 294M 86 254M 0 0 3294k 0 0:01:31 0:01:18 0:00:13 5966k 89 294M 89 263M 0 0 3350k 0 0:01:30 0:01:20 0:00:10 5862k 92 294M 92 273M 0 0 3371k 0 0:01:29 0:01:22 0:00:07 5344k 92 294M 92 273M 0 0 3249k 0 0:01:32 0:01:26 0:00:06 3412k 95 294M 95 283M 0 0 3314k 0 0:01:31 0:01:27 0:00:04 3811k 99 294M 99 292M 0 0 3345k 0 0:01:30 0:01:29 0:00:01 3719k 100 294M 100 294M 0 0 3365k 0 0:01:29 0:01:29 --:--:-- 3497k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-HOST-riscv64-linux-gnu-riscv64-plct +xthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/openeuler/.local/share/ruyi/binaries/riscv64/gnu-plct-xthead-2.8.0-ruyi.20 +240222 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ru +yi/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/openeuler/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 391k 100 391k 0 0 208k 0 0:00:01 0:00:01 --:--:-- 210k 100 391k 100 391k 0 0 207k 0 0:00:01 0:00:01 --:--:-- 209k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=9c635b0506f42e64cf04372c637dc42e18d599e8, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ru +yi/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.24.3 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[2/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[3/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[4/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[5/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[6/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[7/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[17/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[18/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[21/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[22/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[23/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[24/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[25/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[26/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[27/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[28/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[29/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[30/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[31/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[32/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[33/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[34/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[35/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[39/93] Linking C shared library libz.so.1.3.0.zlib-ng +[40/93] Creating library symlink libz.so.1 libz.so +[41/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[42/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[43/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[62/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[64/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[74/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[75/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[76/93] Building C object test/CMakeFiles/example.dir/example.c.o +[77/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[78/93] Linking C executable switchlevels +[79/93] Linking C executable minideflate +[80/93] Linking C static library libz.a +[81/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[82/93] Linking C executable example +[83/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[84/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[85/93] Linking C executable minigzip +[86/93] Linking C executable infcover +[87/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[88/93] Linking C executable makefixed +[89/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[90/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[91/93] Linking C executable maketrees +[92/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[93/93] Linking C executable makecrct ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1.3.0.zlib-ng +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1 +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.a +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/pkgconfig/zlib.pc +++ pwd ++ ls /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 11:06:19 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 11:06:21 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 11:06:23 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpmg86c_d9 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:08:49 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:08:51 2024 - ERROR - Timeout : Command 'bash -x ruyi_test_cmake_ninja.sh' timed out after 3599.9987988059997 seconds +Wed Apr 10 11:08:56 2024 - INFO - unsupported package manager: pacman +(0, None) +++ post_test +++ LOG_INFO 'start environment cleanup.' +++ message='start environment cleanup.' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 11:08:58 2024 - INFO - start environment cleanup. +++ remove_ruyi +++ PKG_REMOVE +++ node=1 +++ pkg_list= +++ mode=0 +++ [[ -z /tmp/tmpmg86c_d9 ]] +++ '[' 0 -ne 0 ']' +++ '[' 1 == 0 ']' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:09:23 2024 - INFO - unsupported package manager: apt-get +(0, None) +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:09:29 2024 - INFO - unsupported package manager: pacman +(0, None) +++ '[' 0 -ne 0 ']' +++ remove_ruyi_data ++++ get_ruyi_dir ++++ ruyibase= ++++ '[' -z '' ']' ++++ ruyibase=/home/openeuler/.cache/ ++++ echo /home/openeuler/.cache//ruyi ++++ get_ruyi_data_dir ++++ ruyibase= ++++ '[' -z '' ']' ++++ ruyibase=/home/openeuler/.local/share ++++ echo /home/openeuler/.local/share/ruyi ++++ get_ruyi_state_dir ++++ ruyibase= ++++ '[' -z '' ']' ++++ ruyibase=/home/openeuler/.local/state ++++ echo /home/openeuler/.local/state/ruyi ++++ get_ruyi_config_dir ++++ ruyibase= ++++ '[' -z '' ']' ++++ ruyibase=/home/openeuler/.config ++++ echo /home/openeuler/.config/ruyi +++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi +++ rm -f ruyi +++ sudo rm -f /usr/bin/ruyi +++ export RUYI_DEBUG= +++ RUYI_DEBUG= +++ PKG_REMOVE +++ node=1 +++ pkg_list= +++ mode=0 +++ [[ -z /tmp/tmpmg86c_d9 ]] +++ '[' 0 -ne 0 ']' +++ '[' 1 == 0 ']' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:10:34 2024 - INFO - unsupported package manager: apt-get +(0, None) +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:10:41 2024 - INFO - unsupported package manager: pacman +(0, None) +++ '[' 0 -ne 0 ']' +++ LOG_INFO 'Finish environment cleanup!' +++ message='Finish environment cleanup!' +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 11:10:43 2024 - INFO - Finish environment cleanup! ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpmg86c_d9 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:11:09 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpmg86c_d9 +Wed Apr 10 11:11:15 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 11:11:17 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-13_36_06.log b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-13_36_06.log new file mode 100644 index 00000000..bea5e340 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_common/2024-04-10-13_36_06.log @@ -0,0 +1,906 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 13:36:11 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:36:42 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:36:49 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:36:55 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ rm -f ruyi ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 3 20.8M 3 839k 0 0 457k 0 0:00:46 0:00:01 0:00:45 461k 18 20.8M 18 3863k 0 0 1442k 0 0:00:14 0:00:02 0:00:12 1451k 37 20.8M 37 7911k 0 0 2152k 0 0:00:09 0:00:03 0:00:06 2162k 55 20.8M 55 11.6M 0 0 2556k 0 0:00:08 0:00:04 0:00:04 2565k 73 20.8M 73 15.2M 0 0 2758k 0 0:00:07 0:00:05 0:00:02 3532k 89 20.8M 89 18.6M 0 0 2854k 0 0:00:07 0:00:06 0:00:01 3760k 100 20.8M 100 20.8M 0 0 2886k 0 0:00:07 0:00:07 --:--:-- 3704k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 13:37:07 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 13:37:08 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.1 +Ruyi 0.8.1 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest, no binary for current host) slug: +llvm-upstream-20231121 +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest, no binary for current host) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest, no binary for current host) + - 8.1.2-ruyi.20231121 (no binary for current host) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ '[' -d /home/openeuler/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-upstream +gnu-plct +gnu-plct-xthead +gnu-plct-rv64ilp32-elf +llvm-upstream' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ++ '[' '!' -z ' - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118' ']' ++ pkgname=gnu-upstream ++ break ++ '[' -z gnu-upstream ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ri +scv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-upstream ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz to +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ris +cv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-HOST-r +iscv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/openeuler/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-HOST-ri +scv64-linux-gnu-riscv64-unknown-linux-gnu.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-upstream ++ grep 'skipping already installed package' +info: skipping already installed package gnu-upstream-0.20231212.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/openeuler/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b +17125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 100 671 100 671 0 0 415 0 0:00:01 0:00:01 --:--:-- 420 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/openeuler/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/openeuler/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/openeuler/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:51:41 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:51:47 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:51:54 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 55 20.8M 55 11.5M 0 0 2956k 0 0:00:07 0:00:04 0:00:03 2968k 64 20.8M 64 13.5M 0 0 3221k 0 0:00:06 0:00:04 0:00:02 3234k 81 20.8M 81 16.9M 0 0 3252k 0 0:00:06 0:00:05 0:00:01 3263k 85 20.8M 85 17.7M 0 0 2890k 0 0:00:07 0:00:06 0:00:01 2898k 90 20.8M 90 18.9M 0 0 2658k 0 0:00:08 0:00:07 0:00:01 3250k 97 20.8M 97 20.4M 0 0 2523k 0 0:00:08 0:00:08 --:--:-- 2119k 100 20.8M 100 20.8M 0 0 2515k 0 0:00:08 0:00:08 --:--:-- 1794k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/openeuler/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/openeuler/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/openeuler/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 13:52:41 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 13:52:43 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 13:52:44 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 13:52:46 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 13:52:48 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_31_17.log b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_31_17.log new file mode 100644 index 00000000..17aad399 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_config/2024-04-10-13_31_17.log @@ -0,0 +1,255 @@ ++ source ./common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 13:31:20 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:31:51 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:31:57 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 13:32:03 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 3 20.8M 3 645k 0 0 321k 0 0:01:06 0:00:02 0:01:04 324k 49 20.8M 49 10.3M 0 0 2594k 0 0:00:08 0:00:04 0:00:04 2607k 76 20.8M 76 15.8M 0 0 3256k 0 0:00:06 0:00:04 0:00:02 3269k 95 20.8M 95 19.9M 0 0 3395k 0 0:00:06 0:00:06 --:--:-- 3406k 100 20.8M 100 20.8M 0 0 3431k 0 0:00:06 0:00:06 --:--:-- 4546k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 13:32:13 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 13:32:14 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ cfg_d=/home/openeuler/.config/ruyi ++ cfg_f=/home/openeuler/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ cc_dir=/home/openeuler/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/openeuler/.config/ruyi ']' ++ mkdir -p /home/openeuler/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting +objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting +objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting +objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting +objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting +objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting +objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/openeuler/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 13:33:36 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 13:33:37 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 13:33:39 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 13:33:41 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 13:33:44 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-12_59_11.log b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-12_59_11.log new file mode 100644 index 00000000..33510742 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-12_59_11.log @@ -0,0 +1,2792 @@ ++ source ./common/device_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 12:59:15 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 12:59:42 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile '' +Wed Apr 10 12:59:49 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' +Wed Apr 10 12:59:56 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z '' ']' ++ tmpfile= ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=riscv64 ++ '[' riscv64 == riscv64 ']' ++ arch=riscv64 ++ '[' riscv64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.riscv64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 45 20.8M 45 9812k 0 0 2675k 0 0:00:07 0:00:03 0:00:04 2688k 60 20.8M 60 12.5M 0 0 2961k 0 0:00:07 0:00:04 0:00:03 2973k 70 20.8M 70 14.7M 0 0 2839k 0 0:00:07 0:00:05 0:00:02 2849k 85 20.8M 85 17.8M 0 0 2885k 0 0:00:07 0:00:06 0:00:01 3634k 100 20.8M 100 20.8M 0 0 2956k 0 0:00:07 0:00:07 --:--:-- 3714k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 13:00:10 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 13:00:11 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing +objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing +objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 11155 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 9.8M 19.5M 29.2M 39.0M 41.4M 46.4M 60.9M 70.7M 79.1M 88.0M 97.8M 107M 111M 117M 119M 121M 124M 128M 133M 144M 153M 163M 173M 180M 184M 196M ' +++ echo Received Spent 0 0 0 9.8M 19.5M 29.2M 39.0M 41.4M 46.4M 60.9M 70.7M 79.1M 88.0M 97.8M 107M 111M 117M 119M 121M 124M 128M 133M 144M 153M 163M 173M 180M 184M 196M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 9.8M =~ [0-9]+ ]] ++ [[ 9.8M != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n1\n1\n1\ny' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ ruyi device provision ++ echo -e 'y\n1\n1\n2' ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ tee ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 11153 Done nohup echo -e "$now_exec" + 11154 Exit 120 | ruyi device provision 2>&1 + 11155 Killed | tee > /tmp/ruyi_device/output ++ kill -9 11282 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 11584 9.9M 14.5M 21.9M 24.1M 27.9M 28.8M 30.2M 32.3M 35.0M 38.5M 42.5M 47.2M 52.2M 57.5M 61.3M 65.2M 69.3M 74.4M 78.0M 81.3M 84.1M 87.6M 91.5M 95.9M 100M 104M 109M 113M 115M 117M 120M 124M 128M 130M 134M 140M 144M ' +++ echo Received Spent 0 0 11584 9.9M 14.5M 21.9M 24.1M 27.9M 28.8M 30.2M 32.3M 35.0M 38.5M 42.5M 47.2M 52.2M 57.5M 61.3M 65.2M 69.3M 74.4M 78.0M 81.3M 84.1M 87.6M 91.5M 95.9M 100M 104M 109M 113M 115M 117M 120M 124M 128M 130M 134M 140M 144M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 11584 =~ [0-9]+ ]] ++ [[ 11584 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ tee ++ kill -9 11496 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 271k 7839k 13.9M 21.8M 28.1M 36.0M 42.3M 48.6M 56.5M 62.8M 70.7M 77.0M 83.4M 91.2M 97.6M 105M 111M 119M 126M 132M 140M 146M ' +++ echo Received Spent 0 0 0 271k 7839k 13.9M 21.8M 28.1M 36.0M 42.3M 48.6M 56.5M 62.8M 70.7M 77.0M 83.4M 91.2M 97.6M 105M 111M 119M 126M 132M 140M 146M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 271k =~ [0-9]+ ]] ++ [[ 271k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ sed 's$/$_$g' +++ echo -E y211y ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n2\n1\n1\nn' ++ now_exec_f=y211n +++ sed 's$/$_$g' +++ echo -E y211n ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ grep --line-buffered -Ev '^$|#' ++ ruyi device provision ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 11280 Done nohup echo -e "$now_exec" + 11281 Exit 120 | ruyi device provision 2>&1 + 11282 Killed | tee > /tmp/ruyi_device/output +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 11494 Done nohup echo -e "$now_exec" + 11495 Exit 120 | ruyi device provision 2>&1 + 11496 Killed | tee > /tmp/ruyi_device/output ++ kill -9 11621 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 3631k 9695k 15.2M 20.4M 26.1M 32.1M 38.2M 44.5M 50.8M 57.2M 63.6M 70.0M 76.2M 82.2M 88.4M 94.7M 100M 106M 112M 119M 124M 130M 136M 142M 148M ' +++ echo Received Spent 0 0 3631k 9695k 15.2M 20.4M 26.1M 32.1M 38.2M 44.5M 50.8M 57.2M 63.6M 70.0M 76.2M 82.2M 88.4M 94.7M 100M 106M 112M 119M 124M 130M 136M 142M 148M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 3631k =~ [0-9]+ ]] ++ [[ 3631k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision +./common/device_lib.sh: line 37: 11619 Done nohup echo -e "$now_exec" + 11620 Exit 120 | ruyi device provision 2>&1 + 11621 Killed | tee > /tmp/ruyi_device/output ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 11792 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 6881 167k 3239k 6071k 10.3M 14.6M 16.2M 18.2M 19.8M 22.6M 28.0M 29.5M 30.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 6881 167k 3239k 6071k 10.3M 14.6M 16.2M 18.2M 19.8M 22.6M 28.0M 29.5M 30.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 6881 =~ [0-9]+ ]] ++ [[ 6881 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ ruyi device provision ++ tee +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 11790 Done nohup echo -e "$now_exec" + 11791 Exit 120 | ruyi device provision 2>&1 + 11792 Killed | tee > /tmp/ruyi_device/output ++ kill -9 11927 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Received +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 127k 1807k 5311k 11.2M 12.6M 14.9M 18.9M 21.0M 24.3M 25.9M 27.4M 28.7M 30.9M 33.9M 34.4M 37.4M 39.9M 43.1M 46.5M 49.7M 54.3M 57.3M 59.1M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 127k 1807k 5311k 11.2M 12.6M 14.9M 18.9M 21.0M 24.3M 25.9M 27.4M 28.7M 30.9M 33.9M 34.4M 37.4M 39.9M 43.1M 46.5M 49.7M 54.3M 57.3M 59.1M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 127k =~ [0-9]+ ]] ++ [[ 127k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 11925 Done nohup echo -e "$now_exec" + 11926 Exit 120 | ruyi device provision 2>&1 + 11927 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ cmd= ++ mode=1 ++ tee ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 12094 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 2747 191k 3775k 6975k 10.6M 14.5M 20.6M 21.5M 23.5M 25.0M 26.7M 28.4M 30.1M 30.4M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 2747 191k 3775k 6975k 10.6M 14.5M 20.6M 21.5M 23.5M 25.0M 26.7M 28.4M 30.1M 30.4M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2747 =~ [0-9]+ ]] ++ [[ 2747 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 12092 Done nohup echo -e "$now_exec" + 12093 Exit 120 | ruyi device provision 2>&1 + 12094 Killed | tee > /tmp/ruyi_device/output ++ kill -9 12222 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 0 104k 320k 1024k 4303k 5919k 9024k 13.2M 19.4M 22.3M 24.1M 27.6M 30.8M 33.5M 35.6M 36.9M 44.1M 45.4M 47.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 0 104k 320k 1024k 4303k 5919k 9024k 13.2M 19.4M 22.3M 24.1M 27.6M 30.8M 33.5M 35.6M 36.9M 44.1M 45.4M 47.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 104k =~ [0-9]+ ]] ++ [[ 104k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 12220 Done nohup echo -e "$now_exec" + 12221 Exit 120 | ruyi device provision 2>&1 + 12222 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 12404 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ awk '{printf $4" "}' +++ grep -A 100 Received ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 2747 334k 990k 6606k 9118k 11.5M 14.6M 17.2M 20.7M 25.2M 33.3M 34.2M 38.5M 44.4M 47.3M 51.2M 51.2M for ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 2747 334k 990k 6606k 9118k 11.5M 14.6M 17.2M 20.7M 25.2M 33.3M 34.2M 38.5M 44.4M 47.3M 51.2M 51.2M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 2747 =~ [0-9]+ ]] ++ [[ 2747 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf /home/openeuler/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi ++ rm -rf '/home/openeuler/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi ++ rm -rf '/home/openeuler/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +./common/device_lib.sh: line 146: 12402 Done nohup echo -e "$now_exec" + 12403 Exit 120 | ruyi device provision 2>&1 + 12404 Killed | tee > /tmp/ruyi_device/output +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ awk '{print $3}' +++ echo Happy 'hacking!' 1 1 ++ local ret_e=1 +++ awk '{print $4}' +++ echo Happy 'hacking!' 1 1 ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-13:21:51.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 13:21:52 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 13:21:54 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 13:21:56 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z '' ]] ++ [[ -z '' ]] ++ LOG_WARN 'no thing to do.' ++ message='no thing to do.' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'no thing to do.' +Wed Apr 10 13:21:58 2024 - WARN - no thing to do. ++ return 0 ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.cache/ +++ echo /home/openeuler/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/share +++ echo /home/openeuler/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.local/state +++ echo /home/openeuler/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/openeuler/.config +++ echo /home/openeuler/.config/ruyi ++ rm -rf /home/openeuler/.cache//ruyi /home/openeuler/.local/share/ruyi /home/openeuler/.local/state/ruyi /home/openeuler/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/openeuler/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 13:22:02 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-13_21_51.tar.gz b/20240408/0.8.1/logs/oE2309-riscv64-qemu/ruyi/ruyi_test_device/2024-04-10-13_21_51.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0196cc6af09d0fa9287eb3263880752588f1b03e GIT binary patch literal 6934 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 cMT~ /lib64/libdl.so.2 (0x00007ff6d0647000) + libc.so.6 => /lib64/libc.so.6 (0x00007ff6d0400000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff6d0775000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=2175afe16c672249f8fd4db8a7032c7f4f89a2af, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar + linux-vdso.so.1 (0x00007fff8314d000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fd67cc01000) + libc.so.6 => /lib64/libc.so.6 (0x00007fd67c800000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd67cd36000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73da7e46ec0c9cae37a62209630b1ad35bfab6b7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as + linux-vdso.so.1 (0x00007ffc50f2e000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fc9b3f21000) + libc.so.6 => /lib64/libc.so.6 (0x00007fc9b3c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc9b4102000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffccbd56000) + libc.so.6 => /lib64/libc.so.6 (0x00007fa21f800000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa21fbbe000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a13377b5b9f486ad8611315353362c659052be30, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt + linux-vdso.so.1 (0x00007fff29fca000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f0a2fee6000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0a2fc00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0a3001b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=72577a0fc73c81cc30e3f54daf7d2e6ac16827ba, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffe27ade000) + libc.so.6 => /lib64/libc.so.6 (0x00007fdadbc00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fdadbfb2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c566a5bada78e0b87b97ae9c33d6f4ac8b9e2ebb, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit + linux-vdso.so.1 (0x00007fffac1fe000) + libc.so.6 => /lib64/libc.so.6 (0x00007feac6000000) + /lib64/ld-linux-x86-64.so.2 (0x00007feac63c1000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c35b1a5dd40a97c4bd70f21e89c599996ce1c612, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ + linux-vdso.so.1 (0x00007ffd54151000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8681c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8681e52000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffd5d4ee000) + libc.so.6 => /lib64/libc.so.6 (0x00007fdc06800000) + /lib64/ld-linux-x86-64.so.2 (0x00007fdc06a54000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fcd2531904c18739fa887f680262bb2f4a588eb7, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 + linux-vdso.so.1 (0x00007ffd0ebf9000) + libc.so.6 => /lib64/libc.so.6 (0x00007f7295200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f72955ae000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-13.1.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-13.1.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-13.1.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f758862ad25799082d6a801946bd5a68c1adf0ef, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffefd163000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9cc5200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9cc561a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b979aa47138752a4f812e2640cbf1790e940ec46, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffc897fb000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe5c1600000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe5c1a1b000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e8d26a705fcdfaec505495eb0b88bca472cd3a9d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007fffeb1d8000) + libc.so.6 => /lib64/libc.so.6 (0x00007f2fb9e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2fba1e4000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ grep .so ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ebc219e73811ca8a6a46ac5ee0e73dcb78b3139c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov + linux-vdso.so.1 (0x00007ffceb76b000) + libc.so.6 => /lib64/libc.so.6 (0x00007f111de00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f111e110000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=82b6b95e63c1d541743068f0ef8737a24f9b28d9, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffccedf2000) + libc.so.6 => /lib64/libc.so.6 (0x00007f48a6400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f48a6689000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=022ab27b710146427a2f09b4c72f915b5cfea96f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffed0193000) + libc.so.6 => /lib64/libc.so.6 (0x00007f1db5200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f1db54ba000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e5063ceae8548251c7fe77b887db847500500af0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) + linux-vdso.so.1 (0x00007ffcd4d2b000) + libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007efff08fc000) + libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007efff08ca000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007efff08c5000) + liblzma.so.5 => /lib64/liblzma.so.5 (0x00007efff0895000) + libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007effefa00000) + libm.so.6 => /lib64/libm.so.6 (0x00007effefd22000) + libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007efff0873000) + libpthread.so.0 => /lib64/libpthread.so.0 (0x00007efff086e000) + libc.so.6 => /lib64/libc.so.6 (0x00007effef600000) + /lib64/ld-linux-x86-64.so.2 (0x00007efff0941000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb) ++ '[' 0x = 0x ']' ++ LOG_WARN 'Found extra message in ldd riscv64-plct-linux-gnu-gdb output' ++ message='Found extra message in ldd riscv64-plct-linux-gnu-gdb output' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Found extra message in ldd riscv64-plct-linux-gnu-gdb output' +Wed Apr 10 02:35:45 2024 - WARN - Found extra message in ldd riscv64-plct-linux-gnu-gdb output ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=8bd1481439adec32395663c8e8e2f48309095269, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffd415fc000) + libc.so.6 => /lib64/libc.so.6 (0x00007f2b95200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f2b95528000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7ba75731dae53aa328f2e9be718cd018c43b9bfe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffd40938000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f3473042000) + libc.so.6 => /lib64/libc.so.6 (0x00007f3472e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f347322c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld + linux-vdso.so.1 (0x00007ffec1ab2000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f84e7be7000) + libc.so.6 => /lib64/libc.so.6 (0x00007f84e7400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f84e7bf3000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d76caa00d5a9c75e06669f2b6932e8ff8e60bba0, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007fff603cc000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f8ad2632000) + libc.so.6 => /lib64/libc.so.6 (0x00007f8ad1e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f8ad263e000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep ELF ++ grep dynamic ++ grep executable +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=89135e7c6bb6f2c6ec334465f432a3334849ff39, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffc7f5cf000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fd620e70000) + libm.so.6 => /lib64/libm.so.6 (0x00007fd620d92000) + libc.so.6 => /lib64/libc.so.6 (0x00007fd620a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd620e7c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a7f8774c46ba3b3fb4673d9afcf1f3ca5b7d81ed, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm + linux-vdso.so.1 (0x00007fffa23bc000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f640762d000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6407200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6407760000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bf929f4a25a483d3f39ec7a6e076a930258423e5, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffd9b3b7000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f56a05a8000) + libc.so.6 => /lib64/libc.so.6 (0x00007f56a0200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f56a06fb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=90ea9b74c2a07351f4850c027d8273369bc0f8de, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffc0cbfa000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f7d08b13000) + libc.so.6 => /lib64/libc.so.6 (0x00007f7d08400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7d08b1f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=32baa2fc2c2afb863110ce5be9cbfb534ed9ab3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffcdf754000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007ff9b180e000) + libc.so.6 => /lib64/libc.so.6 (0x00007ff9b1400000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff9b1943000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46a8f121c47196be8de92c76309f09efe41e2ff2, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf + linux-vdso.so.1 (0x00007ffd275fe000) + libc.so.6 => /lib64/libc.so.6 (0x00007f62ab400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f62ab893000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3839019e395b24979c16ad2ef0474f548a7fa9fe, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size + linux-vdso.so.1 (0x00007fff9b6cd000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6c4829a000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6c48000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6c483c8000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1cf7f23ae18f661e32545c07e829d91557b1a347, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings + linux-vdso.so.1 (0x00007ffd554d0000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fb2109e4000) + libc.so.6 => /lib64/libc.so.6 (0x00007fb210600000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb210b13000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=24feb89de7b69ed47938f4bcefffe103bb1b055e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip + linux-vdso.so.1 (0x00007ffe1fbcb000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f54e4131000) + libc.so.6 => /lib64/libc.so.6 (0x00007f54e3e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f54e4284000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-plct binary riscv64-plct-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0/bin/riscv64-plct-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-plct-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 +4-unknown-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un +known-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 232M 1 4265k 0 0 5288k 0 0:00:44 --:--:-- 0:00:44 5292k 4 232M 4 10.8M 0 0 6153k 0 0:00:38 0:00:01 0:00:37 6153k 7 232M 7 17.0M 0 0 6230k 0 0:00:38 0:00:02 0:00:36 6232k 9 232M 9 22.5M 0 0 6060k 0 0:00:39 0:00:03 0:00:36 6060k 11 232M 11 26.9M 0 0 5740k 0 0:00:41 0:00:04 0:00:37 5740k 13 232M 13 30.8M 0 0 5438k 0 0:00:43 0:00:05 0:00:38 5462k 15 232M 15 35.6M 0 0 5363k 0 0:00:44 0:00:06 0:00:38 5078k 17 232M 17 41.1M 0 0 5392k 0 0:00:44 0:00:07 0:00:37 4921k 20 232M 20 46.9M 0 0 5457k 0 0:00:43 0:00:08 0:00:35 4998k 22 232M 22 53.1M 0 0 5545k 0 0:00:42 0:00:09 0:00:33 5357k 25 232M 25 58.9M 0 0 5552k 0 0:00:42 0:00:10 0:00:32 5682k 27 232M 27 64.7M 0 0 5619k 0 0:00:42 0:00:11 0:00:31 5967k 30 232M 30 71.1M 0 0 5689k 0 0:00:41 0:00:12 0:00:29 6153k 33 232M 33 76.7M 0 0 5691k 0 0:00:41 0:00:13 0:00:28 6102k 35 232M 35 81.6M 0 0 5643k 0 0:00:42 0:00:14 0:00:28 5836k 37 232M 37 86.2M 0 0 5586k 0 0:00:42 0:00:15 0:00:27 5661k 39 232M 39 91.1M 0 0 5550k 0 0:00:42 0:00:16 0:00:26 5388k 41 232M 41 96.1M 0 0 5526k 0 0:00:42 0:00:17 0:00:25 5111k 43 232M 43 100M 0 0 5496k 0 0:00:43 0:00:18 0:00:25 4960k 45 232M 45 105M 0 0 5448k 0 0:00:43 0:00:19 0:00:24 4873k 46 232M 46 107M 0 0 5287k 0 0:00:44 0:00:20 0:00:24 4344k 47 232M 47 109M 0 0 5133k 0 0:00:46 0:00:21 0:00:25 3731k 48 232M 48 112M 0 0 5038k 0 0:00:47 0:00:22 0:00:25 3295k 50 232M 50 116M 0 0 4991k 0 0:00:47 0:00:23 0:00:24 3090k 52 232M 52 120M 0 0 4988k 0 0:00:47 0:00:24 0:00:23 3156k 54 232M 54 126M 0 0 5018k 0 0:00:47 0:00:25 0:00:22 3895k 57 232M 57 132M 0 0 5053k 0 0:00:47 0:00:26 0:00:21 4704k 59 232M 59 137M 0 0 5074k 0 0:00:46 0:00:27 0:00:19 5238k 61 232M 61 143M 0 0 5104k 0 0:00:46 0:00:28 0:00:18 5641k 64 232M 64 148M 0 0 5111k 0 0:00:46 0:00:29 0:00:17 5721k 65 232M 65 152M 0 0 5084k 0 0:00:46 0:00:30 0:00:16 5427k 68 232M 68 158M 0 0 5091k 0 0:00:46 0:00:31 0:00:15 5293k 70 232M 70 163M 0 0 5118k 0 0:00:46 0:00:32 0:00:14 5363k 73 232M 73 169M 0 0 5142k 0 0:00:46 0:00:33 0:00:13 5363k 75 232M 75 174M 0 0 5144k 0 0:00:46 0:00:34 0:00:12 5337k 77 232M 77 179M 0 0 5137k 0 0:00:46 0:00:35 0:00:11 5465k 79 232M 79 184M 0 0 5141k 0 0:00:46 0:00:36 0:00:10 5462k 82 232M 82 190M 0 0 5164k 0 0:00:46 0:00:37 0:00:09 5468k 84 232M 84 196M 0 0 5189k 0 0:00:45 0:00:38 0:00:07 5504k 87 232M 87 202M 0 0 5197k 0 0:00:45 0:00:39 0:00:06 5571k 89 232M 89 208M 0 0 5228k 0 0:00:45 0:00:40 0:00:05 5875k 92 232M 92 215M 0 0 5267k 0 0:00:45 0:00:41 0:00:04 6191k 95 232M 95 221M 0 0 5301k 0 0:00:44 0:00:42 0:00:02 6339k 98 232M 98 228M 0 0 5342k 0 0:00:44 0:00:43 0:00:01 6531k 100 232M 100 232M 0 0 5369k 0 0:00:44 0:00:44 --:--:-- 6904k +info: extracting +RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package +gnu-upstream-0.20231212.0 +info: package gnu-upstream-0.20231212.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 232M 1 4265k 0 0 5288k 0 0:00:44 --:--:-- 0:00:44 $'5292k\r' 4 232M 4 10.8M 0 0 6153k 0 0:00:38 0:00:01 0:00:37 $'6153k\r' 7 232M 7 17.0M 0 0 6230k 0 0:00:38 0:00:02 0:00:36 $'6232k\r' 9 232M 9 22.5M 0 0 6060k 0 0:00:39 0:00:03 0:00:36 $'6060k\r' 11 232M 11 26.9M 0 0 5740k 0 0:00:41 0:00:04 0:00:37 $'5740k\r' 13 232M 13 30.8M 0 0 5438k 0 0:00:43 0:00:05 0:00:38 $'5462k\r' 15 232M 15 35.6M 0 0 5363k 0 0:00:44 0:00:06 0:00:38 $'5078k\r' 17 232M 17 41.1M 0 0 5392k 0 0:00:44 0:00:07 0:00:37 $'4921k\r' 20 232M 20 46.9M 0 0 5457k 0 0:00:43 0:00:08 0:00:35 $'4998k\r' 22 232M 22 53.1M 0 0 5545k 0 0:00:42 0:00:09 0:00:33 $'5357k\r' 25 232M 25 58.9M 0 0 5552k 0 0:00:42 0:00:10 0:00:32 $'5682k\r' 27 232M 27 64.7M 0 0 5619k 0 0:00:42 0:00:11 0:00:31 $'5967k\r' 30 232M 30 71.1M 0 0 5689k 0 0:00:41 0:00:12 0:00:29 $'6153k\r' 33 232M 33 76.7M 0 0 5691k 0 0:00:41 0:00:13 0:00:28 $'6102k\r' 35 232M 35 81.6M 0 0 5643k 0 0:00:42 0:00:14 0:00:28 $'5836k\r' 37 232M 37 86.2M 0 0 5586k 0 0:00:42 0:00:15 0:00:27 $'5661k\r' 39 232M 39 91.1M 0 0 5550k 0 0:00:42 0:00:16 0:00:26 $'5388k\r' 41 232M 41 96.1M 0 0 5526k 0 0:00:42 0:00:17 0:00:25 $'5111k\r' 43 232M 43 100M 0 0 5496k 0 0:00:43 0:00:18 0:00:25 $'4960k\r' 45 232M 45 105M 0 0 5448k 0 0:00:43 0:00:19 0:00:24 $'4873k\r' 46 232M 46 107M 0 0 5287k 0 0:00:44 0:00:20 0:00:24 $'4344k\r' 47 232M 47 109M 0 0 5133k 0 0:00:46 0:00:21 0:00:25 $'3731k\r' 48 232M 48 112M 0 0 5038k 0 0:00:47 0:00:22 0:00:25 $'3295k\r' 50 232M 50 116M 0 0 4991k 0 0:00:47 0:00:23 0:00:24 $'3090k\r' 52 232M 52 120M 0 0 4988k 0 0:00:47 0:00:24 0:00:23 $'3156k\r' 54 232M 54 126M 0 0 5018k 0 0:00:47 0:00:25 0:00:22 $'3895k\r' 57 232M 57 132M 0 0 5053k 0 0:00:47 0:00:26 0:00:21 $'4704k\r' 59 232M 59 137M 0 0 5074k 0 0:00:46 0:00:27 0:00:19 $'5238k\r' 61 232M 61 143M 0 0 5104k 0 0:00:46 0:00:28 0:00:18 $'5641k\r' 64 232M 64 148M 0 0 5111k 0 0:00:46 0:00:29 0:00:17 $'5721k\r' 65 232M 65 152M 0 0 5084k 0 0:00:46 0:00:30 0:00:16 $'5427k\r' 68 232M 68 158M 0 0 5091k 0 0:00:46 0:00:31 0:00:15 $'5293k\r' 70 232M 70 163M 0 0 5118k 0 0:00:46 0:00:32 0:00:14 $'5363k\r' 73 232M 73 169M 0 0 5142k 0 0:00:46 0:00:33 0:00:13 $'5363k\r' 75 232M 75 174M 0 0 5144k 0 0:00:46 0:00:34 0:00:12 $'5337k\r' 77 232M 77 179M 0 0 5137k 0 0:00:46 0:00:35 0:00:11 $'5465k\r' 79 232M 79 184M 0 0 5141k 0 0:00:46 0:00:36 0:00:10 $'5462k\r' 82 232M 82 190M 0 0 5164k 0 0:00:46 0:00:37 0:00:09 $'5468k\r' 84 232M 84 196M 0 0 5189k 0 0:00:45 0:00:38 0:00:07 $'5504k\r' 87 232M 87 202M 0 0 5197k 0 0:00:45 0:00:39 0:00:06 $'5571k\r' 89 232M 89 208M 0 0 5228k 0 0:00:45 0:00:40 0:00:05 $'5875k\r' 92 232M 92 215M 0 0 5267k 0 0:00:45 0:00:41 0:00:04 $'6191k\r' 95 232M 95 221M 0 0 5301k 0 0:00:44 0:00:42 0:00:02 $'6339k\r' 98 232M 98 228M 0 0 5342k 0 0:00:44 0:00:43 0:00:01 $'6531k\r100' 232M 100 232M 0 0 5369k 0 0:00:44 0:00:44 --:--:-- 6904k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 +++ awk '{print $NF}' ++ bp=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ bpb=/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20231212-Upstream-Sources-riscv6 4-unknown-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20231212-Upstream-Sources-riscv64-un known-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 1 232M 1 4265k 0 0 5288k 0 0:00:44 --:--:-- 0:00:44 $'5292k\r' 4 232M 4 10.8M 0 0 6153k 0 0:00:38 0:00:01 0:00:37 $'6153k\r' 7 232M 7 17.0M 0 0 6230k 0 0:00:38 0:00:02 0:00:36 $'6232k\r' 9 232M 9 22.5M 0 0 6060k 0 0:00:39 0:00:03 0:00:36 $'6060k\r' 11 232M 11 26.9M 0 0 5740k 0 0:00:41 0:00:04 0:00:37 $'5740k\r' 13 232M 13 30.8M 0 0 5438k 0 0:00:43 0:00:05 0:00:38 $'5462k\r' 15 232M 15 35.6M 0 0 5363k 0 0:00:44 0:00:06 0:00:38 $'5078k\r' 17 232M 17 41.1M 0 0 5392k 0 0:00:44 0:00:07 0:00:37 $'4921k\r' 20 232M 20 46.9M 0 0 5457k 0 0:00:43 0:00:08 0:00:35 $'4998k\r' 22 232M 22 53.1M 0 0 5545k 0 0:00:42 0:00:09 0:00:33 $'5357k\r' 25 232M 25 58.9M 0 0 5552k 0 0:00:42 0:00:10 0:00:32 $'5682k\r' 27 232M 27 64.7M 0 0 5619k 0 0:00:42 0:00:11 0:00:31 $'5967k\r' 30 232M 30 71.1M 0 0 5689k 0 0:00:41 0:00:12 0:00:29 $'6153k\r' 33 232M 33 76.7M 0 0 5691k 0 0:00:41 0:00:13 0:00:28 $'6102k\r' 35 232M 35 81.6M 0 0 5643k 0 0:00:42 0:00:14 0:00:28 $'5836k\r' 37 232M 37 86.2M 0 0 5586k 0 0:00:42 0:00:15 0:00:27 $'5661k\r' 39 232M 39 91.1M 0 0 5550k 0 0:00:42 0:00:16 0:00:26 $'5388k\r' 41 232M 41 96.1M 0 0 5526k 0 0:00:42 0:00:17 0:00:25 $'5111k\r' 43 232M 43 100M 0 0 5496k 0 0:00:43 0:00:18 0:00:25 $'4960k\r' 45 232M 45 105M 0 0 5448k 0 0:00:43 0:00:19 0:00:24 $'4873k\r' 46 232M 46 107M 0 0 5287k 0 0:00:44 0:00:20 0:00:24 $'4344k\r' 47 232M 47 109M 0 0 5133k 0 0:00:46 0:00:21 0:00:25 $'3731k\r' 48 232M 48 112M 0 0 5038k 0 0:00:47 0:00:22 0:00:25 $'3295k\r' 50 232M 50 116M 0 0 4991k 0 0:00:47 0:00:23 0:00:24 $'3090k\r' 52 232M 52 120M 0 0 4988k 0 0:00:47 0:00:24 0:00:23 $'3156k\r' 54 232M 54 126M 0 0 5018k 0 0:00:47 0:00:25 0:00:22 $'3895k\r' 57 232M 57 132M 0 0 5053k 0 0:00:47 0:00:26 0:00:21 $'4704k\r' 59 232M 59 137M 0 0 5074k 0 0:00:46 0:00:27 0:00:19 $'5238k\r' 61 232M 61 143M 0 0 5104k 0 0:00:46 0:00:28 0:00:18 $'5641k\r' 64 232M 64 148M 0 0 5111k 0 0:00:46 0:00:29 0:00:17 $'5721k\r' 65 232M 65 152M 0 0 5084k 0 0:00:46 0:00:30 0:00:16 $'5427k\r' 68 232M 68 158M 0 0 5091k 0 0:00:46 0:00:31 0:00:15 $'5293k\r' 70 232M 70 163M 0 0 5118k 0 0:00:46 0:00:32 0:00:14 $'5363k\r' 73 232M 73 169M 0 0 5142k 0 0:00:46 0:00:33 0:00:13 $'5363k\r' 75 232M 75 174M 0 0 5144k 0 0:00:46 0:00:34 0:00:12 $'5337k\r' 77 232M 77 179M 0 0 5137k 0 0:00:46 0:00:35 0:00:11 $'5465k\r' 79 232M 79 184M 0 0 5141k 0 0:00:46 0:00:36 0:00:10 $'5462k\r' 82 232M 82 190M 0 0 5164k 0 0:00:46 0:00:37 0:00:09 $'5468k\r' 84 232M 84 196M 0 0 5189k 0 0:00:45 0:00:38 0:00:07 $'5504k\r' 87 232M 87 202M 0 0 5197k 0 0:00:45 0:00:39 0:00:06 $'5571k\r' 89 232M 89 208M 0 0 5228k 0 0:00:45 0:00:40 0:00:05 $'5875k\r' 92 232M 92 215M 0 0 5267k 0 0:00:45 0:00:41 0:00:04 $'6191k\r' 95 232M 95 221M 0 0 5301k 0 0:00:44 0:00:42 0:00:02 $'6339k\r' 98 232M 98 228M 0 0 5342k 0 0:00:44 0:00:43 0:00:01 $'6531k\r100' 232M 100 232M 0 0 5369k 0 0:00:44 0:00:44 --:--:-- 6904k info: extracting RuyiSDK-20231212-Upstream-Sources-riscv64-unknown-linux-gnu.tar.xz for package gnu-upstream-0.20231212.0 info: package gnu-upstream-0.20231212.0 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0 ']' ++ '[' '!' -d /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ']' +++ ls /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=51d9b330194b9867afb706b7611e02f9293fe3be, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line + linux-vdso.so.1 (0x00007fff02357000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f0a1eac0000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0a1e800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f0a1ebce000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-addr2line failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-addr2line ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-addr2line output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d1dca52f0b53dd6d6e1a398fff97bf6a24ed2b6e, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar + linux-vdso.so.1 (0x00007ffdcfbb7000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f5a2d51c000) + libc.so.6 => /lib64/libc.so.6 (0x00007f5a2d200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f5a2d632000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7671387815a715ccf29413e6ebd2d694ef4fd9ad, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as + linux-vdso.so.1 (0x00007ffe7a7ec000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f4d66979000) + libc.so.6 => /lib64/libc.so.6 (0x00007f4d66600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f4d66b1d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-as failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-as ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-as output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ + linux-vdso.so.1 (0x00007ffd7f27b000) + libc.so.6 => /lib64/libc.so.6 (0x00007fd874c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fd874f15000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cc ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=46ec6178fe7407f1c90cd30bb536558171a92e3f, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt + linux-vdso.so.1 (0x00007ffd9d9b9000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6d29537000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6d29200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6d2964d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-c++filt failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep -vE '\(0x' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-c++filt ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-c++filt output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=240b045dd7361e3c4bc5007cc8a3498c2d283408, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp + linux-vdso.so.1 (0x00007ffd5ac9f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9eaba00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9eabd9a000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-cpp failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-cpp ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-cpp output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ct-ng.config ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=33d699b0253e2c2bb40e6cfd086bc66a59d99e2c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit + linux-vdso.so.1 (0x00007ffd6bfbf000) + libc.so.6 => /lib64/libc.so.6 (0x00007f1232600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f12329df000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-elfedit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-elfedit ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-elfedit output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=aa7e01033fb0539c1363f3687e3f649bdc36bcae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ + linux-vdso.so.1 (0x00007fff397da000) + libc.so.6 => /lib64/libc.so.6 (0x00007f4564c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f4564f6d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-g++ failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-g++ ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-g++ output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc + linux-vdso.so.1 (0x00007ffe46591000) + libc.so.6 => /lib64/libc.so.6 (0x00007fc884a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc884d15000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76b3543236174cea31249227dcbdd56fb19db902, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 + linux-vdso.so.1 (0x00007ffca7fea000) + libc.so.6 => /lib64/libc.so.6 (0x00007fe2a7000000) + /lib64/ld-linux-x86-64.so.2 (0x00007fe2a72fe000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-13.2.0 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-13.2.0 ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-13.2.0 output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93fc5f76c74612a9d0ce7afbc1cd9e42d09dcf1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar + linux-vdso.so.1 (0x00007ffc55f5f000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6879800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6879ac9000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ar failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ar ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ar output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1b7ab8553679997bbad242148fd744e0431b0318, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm + linux-vdso.so.1 (0x00007ffeed760000) + libc.so.6 => /lib64/libc.so.6 (0x00007f223a200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f223a56f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9b9816acb73f92f5a898ec65ca3d74a90d820a84, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib + linux-vdso.so.1 (0x00007ffea5fd1000) + libc.so.6 => /lib64/libc.so.6 (0x00007fee00200000) + /lib64/ld-linux-x86-64.so.2 (0x00007fee004eb000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcc-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcc-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcc-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e57b5d44de252010151d77f4323ad763e9523ce3, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov + linux-vdso.so.1 (0x00007fffa5d00000) + libc.so.6 => /lib64/libc.so.6 (0x00007fad1d600000) + /lib64/ld-linux-x86-64.so.2 (0x00007fad1da07000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b1fd99fe236a5513419295efe1dd3fe7d738f228, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump + linux-vdso.so.1 (0x00007ffe04b54000) + libc.so.6 => /lib64/libc.so.6 (0x00007fddd7e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fddd80dc000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6160a5965fccd5c42347d644843e1dd0b94418ae, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool + linux-vdso.so.1 (0x00007ffcba857000) + libc.so.6 => /lib64/libc.so.6 (0x00007fb513e00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb514237000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gcov-tool failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gcov-tool ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gcov-tool output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f27038640ed4ca1647aceff925831111b4de5e1d, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) + linux-vdso.so.1 (0x00007ffc17fc0000) + libncursesw.so.6 => /lib64/libncursesw.so.6 (0x00007f80e34c7000) + libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f80e3495000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f80e3490000) + liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f80e3460000) + libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f80e2600000) + libm.so.6 => /lib64/libm.so.6 (0x00007f80e2922000) + libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f80e343e000) + libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f80e3439000) + libc.so.6 => /lib64/libc.so.6 (0x00007f80e2200000) + /lib64/ld-linux-x86-64.so.2 (0x00007f80e350c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gdb failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libtinfo.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb: /lib64/libncursesw.so.6: no version information available (required by /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb) ++ '[' 0x = 0x ']' ++ LOG_WARN 'Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' ++ message='Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level warn --message 'Found extra message in ldd riscv64-unknown-linux-gnu-gdb output' +Wed Apr 10 02:37:43 2024 - WARN - Found extra message in ldd riscv64-unknown-linux-gnu-gdb output ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gdb output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gdb-add-index ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bba2a4aa398576037d78bd7f2d67d84183ca7474, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran + linux-vdso.so.1 (0x00007ffd05ee6000) + libc.so.6 => /lib64/libc.so.6 (0x00007f29e6c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f29e6f31000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gfortran failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gfortran ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gfortran output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=81368607ab7d7e9fc93c70c1a5085ca8cf7d2551, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof + linux-vdso.so.1 (0x00007ffe89f8e000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f313794e000) + libc.so.6 => /lib64/libc.so.6 (0x00007f3137600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f3137a6d000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-gprof failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-gprof ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-gprof output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld + linux-vdso.so.1 (0x00007ffd67bae000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f53a2b56000) + libc.so.6 => /lib64/libc.so.6 (0x00007f53a2400000) + /lib64/ld-linux-x86-64.so.2 (0x00007f53a2b62000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ grep ELF ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c013c0cc2660e64fe35fb6fbd01c4f2270ed25f6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd + linux-vdso.so.1 (0x00007ffefa3ad000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f960d034000) + libc.so.6 => /lib64/libc.so.6 (0x00007f960c800000) + /lib64/ld-linux-x86-64.so.2 (0x00007f960d040000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ld.bfd failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ld.bfd ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ld.bfd output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ldd ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=07e0cdeb46eb6749e40f39f886240ec56b077414, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump + linux-vdso.so.1 (0x00007ffe00fc4000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007ff7f4096000) + libm.so.6 => /lib64/libm.so.6 (0x00007ff7f3fb8000) + libc.so.6 => /lib64/libc.so.6 (0x00007ff7f3c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007ff7f40a2000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-lto-dump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-lto-dump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-lto-dump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7dc2121143a8baa649992b794106a7e3e33d025c, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm + linux-vdso.so.1 (0x00007fff65b91000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fa1c1d34000) + libc.so.6 => /lib64/libc.so.6 (0x00007fa1c1a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa1c1e46000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-nm failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-nm ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-nm output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=25a334917a579d527a1d3c7d5f1d986453d61b03, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy + linux-vdso.so.1 (0x00007ffd7dbfd000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f244d9a8000) + libc.so.6 => /lib64/libc.so.6 (0x00007f244d600000) + /lib64/ld-linux-x86-64.so.2 (0x00007f244dada000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objcopy failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objcopy ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objcopy output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3791c1a2ba627af0f6c6dd2e87ae4a7ea7418f23, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump + linux-vdso.so.1 (0x00007ffd7a9ce000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f7871e12000) + libc.so.6 => /lib64/libc.so.6 (0x00007f7871a00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f7871ff5000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-objdump failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-objdump ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-objdump output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-populate ++ grep ELF ++ grep executable ++ grep dynamic ++ '[' 1x '!=' 0x ']' ++ continue ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=86b327b66ff5317f621853e5dc663a194ab1c964, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib + linux-vdso.so.1 (0x00007ffc52f7c000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f126e049000) + libc.so.6 => /lib64/libc.so.6 (0x00007f126de00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f126e15f000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-ranlib failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-ranlib ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-ranlib output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=94b11b905c3c381dda1f368cf17dea43ae3a4654, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf + linux-vdso.so.1 (0x00007ffc823e3000) + libc.so.6 => /lib64/libc.so.6 (0x00007f9101c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f9102048000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-readelf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-readelf ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-readelf output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9fe6ce808fc54654b1ba0be4f8161de2f6cd2abf, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size + linux-vdso.so.1 (0x00007fff6fbe1000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007fa2f8497000) + libc.so.6 => /lib64/libc.so.6 (0x00007fa2f8200000) + /lib64/ld-linux-x86-64.so.2 (0x00007fa2f85a6000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-size failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-size ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-size output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=adfc3905c2628c9867e65a37ef119cfdbe73cf89, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings + linux-vdso.so.1 (0x00007fffeeb6a000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f6ab13fa000) + libc.so.6 => /lib64/libc.so.6 (0x00007f6ab1000000) + /lib64/ld-linux-x86-64.so.2 (0x00007f6ab1509000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strings failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strings ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strings output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for b in `ls $bpb` ++ file /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep ELF ++ grep executable ++ grep dynamic +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3c95f10b97c64370dca4b055b3c48aed500f13b6, for GNU/Linux 3.2.0, stripped ++ '[' 0x '!=' 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip + linux-vdso.so.1 (0x00007ffe94da1000) + libdl.so.2 => /lib64/libdl.so.2 (0x00007f0170ffa000) + libc.so.6 => /lib64/libc.so.6 (0x00007f0170c00000) + /lib64/ld-linux-x86-64.so.2 (0x00007f017112c000) ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain/gnu-upstream binary riscv64-unknown-linux-gnu-strip failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ '[' 1x = 0x ']' ++ ldd /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-upstream-0.20231212.0/bin/riscv64-unknown-linux-gnu-strip ++ grep -vE '\(0x' ++ grep .so ++ grep 'not found' ++ CHECK_RESULT 1 1 0 'Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ actual_result=1 ++ expect_result=1 ++ mode=0 ++ error_log='Found .so not found in ldd riscv64-unknown-linux-gnu-strip output' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 0 -eq 0 ']' ++ test 1x '!=' 1x ++ return 0 ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install llvm-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 201k 0 0 761k 0 0:08:56 --:--:-- 0:08:56 763k 1 398M 1 7577k 0 0 5994k 0 0:01:08 0:00:01 0:01:07 5994k 3 398M 3 15.0M 0 0 6802k 0 0:01:00 0:00:02 0:00:58 6802k 5 398M 5 22.1M 0 0 6963k 0 0:00:58 0:00:03 0:00:55 6963k 7 398M 7 28.7M 0 0 6913k 0 0:00:59 0:00:04 0:00:55 6914k 8 398M 8 35.0M 0 0 6809k 0 0:00:59 0:00:05 0:00:54 7129k 10 398M 10 40.6M 0 0 6643k 0 0:01:01 0:00:06 0:00:55 6808k 11 398M 11 45.5M 0 0 6419k 0 0:01:03 0:00:07 0:00:56 6246k 12 398M 12 50.8M 0 0 6299k 0 0:01:04 0:00:08 0:00:56 5865k 13 398M 13 55.5M 0 0 6139k 0 0:01:06 0:00:09 0:00:57 5478k 15 398M 15 60.4M 0 0 6032k 0 0:01:07 0:00:10 0:00:57 5216k 16 398M 16 65.4M 0 0 5951k 0 0:01:08 0:00:11 0:00:57 5082k 17 398M 17 70.0M 0 0 5851k 0 0:01:09 0:00:12 0:00:57 5027k 18 398M 18 74.1M 0 0 5726k 0 0:01:11 0:00:13 0:00:58 4780k 19 398M 19 78.5M 0 0 5635k 0 0:01:12 0:00:14 0:00:58 4704k 20 398M 20 82.3M 0 0 5526k 0 0:01:13 0:00:15 0:00:58 4486k 21 398M 21 87.0M 0 0 5478k 0 0:01:14 0:00:16 0:00:58 4412k 23 398M 23 92.3M 0 0 5478k 0 0:01:14 0:00:17 0:00:57 4563k 24 398M 24 98.3M 0 0 5511k 0 0:01:14 0:00:18 0:00:56 4940k 26 398M 26 104M 0 0 5544k 0 0:01:13 0:00:19 0:00:54 5283k 27 398M 27 111M 0 0 5610k 0 0:01:12 0:00:20 0:00:52 5866k 29 398M 29 118M 0 0 5700k 0 0:01:11 0:00:21 0:00:50 6422k 31 398M 31 124M 0 0 5744k 0 0:01:11 0:00:22 0:00:49 6662k 32 398M 32 131M 0 0 5789k 0 0:01:10 0:00:23 0:00:47 6803k 34 398M 34 138M 0 0 5854k 0 0:01:09 0:00:24 0:00:45 7048k 35 398M 35 143M 0 0 5810k 0 0:01:10 0:00:25 0:00:45 6624k 37 398M 37 148M 0 0 5789k 0 0:01:10 0:00:26 0:00:44 6169k 38 398M 38 154M 0 0 5795k 0 0:01:10 0:00:27 0:00:43 6022k 40 398M 40 160M 0 0 5812k 0 0:01:10 0:00:28 0:00:42 5920k 41 398M 41 165M 0 0 5774k 0 0:01:10 0:00:29 0:00:41 5390k 41 398M 41 167M 0 0 5665k 0 0:01:12 0:00:30 0:00:42 4929k 42 398M 42 170M 0 0 5578k 0 0:01:13 0:00:31 0:00:42 4470k 43 398M 43 173M 0 0 5507k 0 0:01:14 0:00:32 0:00:42 3938k 44 398M 44 176M 0 0 5421k 0 0:01:15 0:00:33 0:00:42 3214k 44 398M 44 178M 0 0 5343k 0 0:01:16 0:00:34 0:00:42 2806k 45 398M 45 181M 0 0 5279k 0 0:01:17 0:00:35 0:00:42 2944k 46 398M 46 185M 0 0 5232k 0 0:01:18 0:00:36 0:00:42 3068k 47 398M 47 189M 0 0 5213k 0 0:01:18 0:00:37 0:00:41 3312k 48 398M 48 194M 0 0 5204k 0 0:01:18 0:00:38 0:00:40 3761k 49 398M 49 198M 0 0 5181k 0 0:01:18 0:00:39 0:00:39 4070k 50 398M 50 202M 0 0 5144k 0 0:01:19 0:00:40 0:00:39 4188k 51 398M 51 205M 0 0 5098k 0 0:01:20 0:00:41 0:00:39 4131k 52 398M 52 208M 0 0 5042k 0 0:01:20 0:00:42 0:00:38 3766k 52 398M 52 210M 0 0 4979k 0 0:01:21 0:00:43 0:00:38 3257k 53 398M 53 212M 0 0 4905k 0 0:01:23 0:00:44 0:00:39 2751k 53 398M 53 213M 0 0 4841k 0 0:01:24 0:00:45 0:00:39 2397k 54 398M 54 215M 0 0 4777k 0 0:01:25 0:00:46 0:00:39 2125k 54 398M 54 218M 0 0 4729k 0 0:01:26 0:00:47 0:00:39 2088k 55 398M 55 221M 0 0 4696k 0 0:01:26 0:00:48 0:00:38 2249k 56 398M 56 224M 0 0 4661k 0 0:01:27 0:00:49 0:00:38 2488k 56 398M 56 226M 0 0 4623k 0 0:01:28 0:00:50 0:00:38 2656k 57 398M 57 229M 0 0 4556k 0 0:01:29 0:00:51 0:00:38 2657k 57 398M 57 230M 0 0 4522k 0 0:01:30 0:00:52 0:00:38 2567k 58 398M 58 233M 0 0 4477k 0 0:01:31 0:00:53 0:00:38 2368k 58 398M 58 234M 0 0 4428k 0 0:01:32 0:00:54 0:00:38 2137k 59 398M 59 236M 0 0 4375k 0 0:01:33 0:00:55 0:00:38 1896k 59 398M 59 237M 0 0 4314k 0 0:01:34 0:00:56 0:00:38 1610k 59 398M 59 237M 0 0 4253k 0 0:01:36 0:00:57 0:00:39 1436k 60 398M 60 239M 0 0 4205k 0 0:01:37 0:00:58 0:00:39 1299k 60 398M 60 241M 0 0 4173k 0 0:01:37 0:00:59 0:00:38 1404k 61 398M 61 244M 0 0 4148k 0 0:01:38 0:01:00 0:00:38 1618k 61 398M 61 246M 0 0 4124k 0 0:01:38 0:01:01 0:00:37 1989k 62 398M 62 250M 0 0 4113k 0 0:01:39 0:01:02 0:00:37 2515k 63 398M 63 254M 0 0 4116k 0 0:01:39 0:01:03 0:00:36 3076k 65 398M 65 259M 0 0 4131k 0 0:01:38 0:01:04 0:00:34 3635k 66 398M 66 265M 0 0 4162k 0 0:01:38 0:01:05 0:00:33 4335k 68 398M 68 271M 0 0 4194k 0 0:01:37 0:01:06 0:00:31 5055k 69 398M 69 278M 0 0 4242k 0 0:01:36 0:01:07 0:00:29 5846k 71 398M 71 286M 0 0 4298k 0 0:01:34 0:01:08 0:00:26 6602k 74 398M 74 295M 0 0 4363k 0 0:01:33 0:01:09 0:00:24 7347k 76 398M 76 304M 0 0 4438k 0 0:01:32 0:01:10 0:00:22 8146k 78 398M 78 313M 0 0 4503k 0 0:01:30 0:01:11 0:00:19 8588k 80 398M 80 321M 0 0 4557k 0 0:01:29 0:01:12 0:00:17 8796k 82 398M 82 330M 0 0 4623k 0 0:01:28 0:01:13 0:00:15 9062k 85 398M 85 340M 0 0 4696k 0 0:01:26 0:01:14 0:00:12 9299k 87 398M 87 350M 0 0 4770k 0 0:01:25 0:01:15 0:00:10 9436k 90 398M 90 361M 0 0 4847k 0 0:01:24 0:01:16 0:00:08 9753k 92 398M 92 369M 0 0 4901k 0 0:01:23 0:01:17 0:00:06 9868k 95 398M 95 379M 0 0 4962k 0 0:01:22 0:01:18 0:00:04 9926k 97 398M 97 389M 0 0 5033k 0 0:01:21 0:01:19 0:00:02 9.8M 100 398M 100 398M 0 0 5094k 0 0:01:20 0:01:20 --:--:-- 9.8M +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21' ++ retc=0 +++ tail -n 1 +++ awk '{print $NF}' +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 201k 0 0 761k 0 0:08:56 --:--:-- 0:08:56 $'763k\r' 1 398M 1 7577k 0 0 5994k 0 0:01:08 0:00:01 0:01:07 $'5994k\r' 3 398M 3 15.0M 0 0 6802k 0 0:01:00 0:00:02 0:00:58 $'6802k\r' 5 398M 5 22.1M 0 0 6963k 0 0:00:58 0:00:03 0:00:55 $'6963k\r' 7 398M 7 28.7M 0 0 6913k 0 0:00:59 0:00:04 0:00:55 $'6914k\r' 8 398M 8 35.0M 0 0 6809k 0 0:00:59 0:00:05 0:00:54 $'7129k\r' 10 398M 10 40.6M 0 0 6643k 0 0:01:01 0:00:06 0:00:55 $'6808k\r' 11 398M 11 45.5M 0 0 6419k 0 0:01:03 0:00:07 0:00:56 $'6246k\r' 12 398M 12 50.8M 0 0 6299k 0 0:01:04 0:00:08 0:00:56 $'5865k\r' 13 398M 13 55.5M 0 0 6139k 0 0:01:06 0:00:09 0:00:57 $'5478k\r' 15 398M 15 60.4M 0 0 6032k 0 0:01:07 0:00:10 0:00:57 $'5216k\r' 16 398M 16 65.4M 0 0 5951k 0 0:01:08 0:00:11 0:00:57 $'5082k\r' 17 398M 17 70.0M 0 0 5851k 0 0:01:09 0:00:12 0:00:57 $'5027k\r' 18 398M 18 74.1M 0 0 5726k 0 0:01:11 0:00:13 0:00:58 $'4780k\r' 19 398M 19 78.5M 0 0 5635k 0 0:01:12 0:00:14 0:00:58 $'4704k\r' 20 398M 20 82.3M 0 0 5526k 0 0:01:13 0:00:15 0:00:58 $'4486k\r' 21 398M 21 87.0M 0 0 5478k 0 0:01:14 0:00:16 0:00:58 $'4412k\r' 23 398M 23 92.3M 0 0 5478k 0 0:01:14 0:00:17 0:00:57 $'4563k\r' 24 398M 24 98.3M 0 0 5511k 0 0:01:14 0:00:18 0:00:56 $'4940k\r' 26 398M 26 104M 0 0 5544k 0 0:01:13 0:00:19 0:00:54 $'5283k\r' 27 398M 27 111M 0 0 5610k 0 0:01:12 0:00:20 0:00:52 $'5866k\r' 29 398M 29 118M 0 0 5700k 0 0:01:11 0:00:21 0:00:50 $'6422k\r' 31 398M 31 124M 0 0 5744k 0 0:01:11 0:00:22 0:00:49 $'6662k\r' 32 398M 32 131M 0 0 5789k 0 0:01:10 0:00:23 0:00:47 $'6803k\r' 34 398M 34 138M 0 0 5854k 0 0:01:09 0:00:24 0:00:45 $'7048k\r' 35 398M 35 143M 0 0 5810k 0 0:01:10 0:00:25 0:00:45 $'6624k\r' 37 398M 37 148M 0 0 5789k 0 0:01:10 0:00:26 0:00:44 $'6169k\r' 38 398M 38 154M 0 0 5795k 0 0:01:10 0:00:27 0:00:43 $'6022k\r' 40 398M 40 160M 0 0 5812k 0 0:01:10 0:00:28 0:00:42 $'5920k\r' 41 398M 41 165M 0 0 5774k 0 0:01:10 0:00:29 0:00:41 $'5390k\r' 41 398M 41 167M 0 0 5665k 0 0:01:12 0:00:30 0:00:42 $'4929k\r' 42 398M 42 170M 0 0 5578k 0 0:01:13 0:00:31 0:00:42 $'4470k\r' 43 398M 43 173M 0 0 5507k 0 0:01:14 0:00:32 0:00:42 $'3938k\r' 44 398M 44 176M 0 0 5421k 0 0:01:15 0:00:33 0:00:42 $'3214k\r' 44 398M 44 178M 0 0 5343k 0 0:01:16 0:00:34 0:00:42 $'2806k\r' 45 398M 45 181M 0 0 5279k 0 0:01:17 0:00:35 0:00:42 $'2944k\r' 46 398M 46 185M 0 0 5232k 0 0:01:18 0:00:36 0:00:42 $'3068k\r' 47 398M 47 189M 0 0 5213k 0 0:01:18 0:00:37 0:00:41 $'3312k\r' 48 398M 48 194M 0 0 5204k 0 0:01:18 0:00:38 0:00:40 $'3761k\r' 49 398M 49 198M 0 0 5181k 0 0:01:18 0:00:39 0:00:39 $'4070k\r' 50 398M 50 202M 0 0 5144k 0 0:01:19 0:00:40 0:00:39 $'4188k\r' 51 398M 51 205M 0 0 5098k 0 0:01:20 0:00:41 0:00:39 $'4131k\r' 52 398M 52 208M 0 0 5042k 0 0:01:20 0:00:42 0:00:38 $'3766k\r' 52 398M 52 210M 0 0 4979k 0 0:01:21 0:00:43 0:00:38 $'3257k\r' 53 398M 53 212M 0 0 4905k 0 0:01:23 0:00:44 0:00:39 $'2751k\r' 53 398M 53 213M 0 0 4841k 0 0:01:24 0:00:45 0:00:39 $'2397k\r' 54 398M 54 215M 0 0 4777k 0 0:01:25 0:00:46 0:00:39 $'2125k\r' 54 398M 54 218M 0 0 4729k 0 0:01:26 0:00:47 0:00:39 $'2088k\r' 55 398M 55 221M 0 0 4696k 0 0:01:26 0:00:48 0:00:38 $'2249k\r' 56 398M 56 224M 0 0 4661k 0 0:01:27 0:00:49 0:00:38 $'2488k\r' 56 398M 56 226M 0 0 4623k 0 0:01:28 0:00:50 0:00:38 $'2656k\r' 57 398M 57 229M 0 0 4556k 0 0:01:29 0:00:51 0:00:38 $'2657k\r' 57 398M 57 230M 0 0 4522k 0 0:01:30 0:00:52 0:00:38 $'2567k\r' 58 398M 58 233M 0 0 4477k 0 0:01:31 0:00:53 0:00:38 $'2368k\r' 58 398M 58 234M 0 0 4428k 0 0:01:32 0:00:54 0:00:38 $'2137k\r' 59 398M 59 236M 0 0 4375k 0 0:01:33 0:00:55 0:00:38 $'1896k\r' 59 398M 59 237M 0 0 4314k 0 0:01:34 0:00:56 0:00:38 $'1610k\r' 59 398M 59 237M 0 0 4253k 0 0:01:36 0:00:57 0:00:39 $'1436k\r' 60 398M 60 239M 0 0 4205k 0 0:01:37 0:00:58 0:00:39 $'1299k\r' 60 398M 60 241M 0 0 4173k 0 0:01:37 0:00:59 0:00:38 $'1404k\r' 61 398M 61 244M 0 0 4148k 0 0:01:38 0:01:00 0:00:38 $'1618k\r' 61 398M 61 246M 0 0 4124k 0 0:01:38 0:01:01 0:00:37 $'1989k\r' 62 398M 62 250M 0 0 4113k 0 0:01:39 0:01:02 0:00:37 $'2515k\r' 63 398M 63 254M 0 0 4116k 0 0:01:39 0:01:03 0:00:36 $'3076k\r' 65 398M 65 259M 0 0 4131k 0 0:01:38 0:01:04 0:00:34 $'3635k\r' 66 398M 66 265M 0 0 4162k 0 0:01:38 0:01:05 0:00:33 $'4335k\r' 68 398M 68 271M 0 0 4194k 0 0:01:37 0:01:06 0:00:31 $'5055k\r' 69 398M 69 278M 0 0 4242k 0 0:01:36 0:01:07 0:00:29 $'5846k\r' 71 398M 71 286M 0 0 4298k 0 0:01:34 0:01:08 0:00:26 $'6602k\r' 74 398M 74 295M 0 0 4363k 0 0:01:33 0:01:09 0:00:24 $'7347k\r' 76 398M 76 304M 0 0 4438k 0 0:01:32 0:01:10 0:00:22 $'8146k\r' 78 398M 78 313M 0 0 4503k 0 0:01:30 0:01:11 0:00:19 $'8588k\r' 80 398M 80 321M 0 0 4557k 0 0:01:29 0:01:12 0:00:17 $'8796k\r' 82 398M 82 330M 0 0 4623k 0 0:01:28 0:01:13 0:00:15 $'9062k\r' 85 398M 85 340M 0 0 4696k 0 0:01:26 0:01:14 0:00:12 $'9299k\r' 87 398M 87 350M 0 0 4770k 0 0:01:25 0:01:15 0:00:10 $'9436k\r' 90 398M 90 361M 0 0 4847k 0 0:01:24 0:01:16 0:00:08 $'9753k\r' 92 398M 92 369M 0 0 4901k 0 0:01:23 0:01:17 0:00:06 $'9868k\r' 95 398M 95 379M 0 0 4962k 0 0:01:22 0:01:18 0:00:04 $'9926k\r' 97 398M 97 389M 0 0 5033k 0 0:01:21 0:01:19 0:00:02 $'9.8M\r100' 398M 100 398M 0 0 5094k 0 0:01:20 0:01:20 --:--:-- 9.8M info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ bp=21 ++ bpb=21/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 398M 0 201k 0 0 761k 0 0:08:56 --:--:-- 0:08:56 $'763k\r' 1 398M 1 7577k 0 0 5994k 0 0:01:08 0:00:01 0:01:07 $'5994k\r' 3 398M 3 15.0M 0 0 6802k 0 0:01:00 0:00:02 0:00:58 $'6802k\r' 5 398M 5 22.1M 0 0 6963k 0 0:00:58 0:00:03 0:00:55 $'6963k\r' 7 398M 7 28.7M 0 0 6913k 0 0:00:59 0:00:04 0:00:55 $'6914k\r' 8 398M 8 35.0M 0 0 6809k 0 0:00:59 0:00:05 0:00:54 $'7129k\r' 10 398M 10 40.6M 0 0 6643k 0 0:01:01 0:00:06 0:00:55 $'6808k\r' 11 398M 11 45.5M 0 0 6419k 0 0:01:03 0:00:07 0:00:56 $'6246k\r' 12 398M 12 50.8M 0 0 6299k 0 0:01:04 0:00:08 0:00:56 $'5865k\r' 13 398M 13 55.5M 0 0 6139k 0 0:01:06 0:00:09 0:00:57 $'5478k\r' 15 398M 15 60.4M 0 0 6032k 0 0:01:07 0:00:10 0:00:57 $'5216k\r' 16 398M 16 65.4M 0 0 5951k 0 0:01:08 0:00:11 0:00:57 $'5082k\r' 17 398M 17 70.0M 0 0 5851k 0 0:01:09 0:00:12 0:00:57 $'5027k\r' 18 398M 18 74.1M 0 0 5726k 0 0:01:11 0:00:13 0:00:58 $'4780k\r' 19 398M 19 78.5M 0 0 5635k 0 0:01:12 0:00:14 0:00:58 $'4704k\r' 20 398M 20 82.3M 0 0 5526k 0 0:01:13 0:00:15 0:00:58 $'4486k\r' 21 398M 21 87.0M 0 0 5478k 0 0:01:14 0:00:16 0:00:58 $'4412k\r' 23 398M 23 92.3M 0 0 5478k 0 0:01:14 0:00:17 0:00:57 $'4563k\r' 24 398M 24 98.3M 0 0 5511k 0 0:01:14 0:00:18 0:00:56 $'4940k\r' 26 398M 26 104M 0 0 5544k 0 0:01:13 0:00:19 0:00:54 $'5283k\r' 27 398M 27 111M 0 0 5610k 0 0:01:12 0:00:20 0:00:52 $'5866k\r' 29 398M 29 118M 0 0 5700k 0 0:01:11 0:00:21 0:00:50 $'6422k\r' 31 398M 31 124M 0 0 5744k 0 0:01:11 0:00:22 0:00:49 $'6662k\r' 32 398M 32 131M 0 0 5789k 0 0:01:10 0:00:23 0:00:47 $'6803k\r' 34 398M 34 138M 0 0 5854k 0 0:01:09 0:00:24 0:00:45 $'7048k\r' 35 398M 35 143M 0 0 5810k 0 0:01:10 0:00:25 0:00:45 $'6624k\r' 37 398M 37 148M 0 0 5789k 0 0:01:10 0:00:26 0:00:44 $'6169k\r' 38 398M 38 154M 0 0 5795k 0 0:01:10 0:00:27 0:00:43 $'6022k\r' 40 398M 40 160M 0 0 5812k 0 0:01:10 0:00:28 0:00:42 $'5920k\r' 41 398M 41 165M 0 0 5774k 0 0:01:10 0:00:29 0:00:41 $'5390k\r' 41 398M 41 167M 0 0 5665k 0 0:01:12 0:00:30 0:00:42 $'4929k\r' 42 398M 42 170M 0 0 5578k 0 0:01:13 0:00:31 0:00:42 $'4470k\r' 43 398M 43 173M 0 0 5507k 0 0:01:14 0:00:32 0:00:42 $'3938k\r' 44 398M 44 176M 0 0 5421k 0 0:01:15 0:00:33 0:00:42 $'3214k\r' 44 398M 44 178M 0 0 5343k 0 0:01:16 0:00:34 0:00:42 $'2806k\r' 45 398M 45 181M 0 0 5279k 0 0:01:17 0:00:35 0:00:42 $'2944k\r' 46 398M 46 185M 0 0 5232k 0 0:01:18 0:00:36 0:00:42 $'3068k\r' 47 398M 47 189M 0 0 5213k 0 0:01:18 0:00:37 0:00:41 $'3312k\r' 48 398M 48 194M 0 0 5204k 0 0:01:18 0:00:38 0:00:40 $'3761k\r' 49 398M 49 198M 0 0 5181k 0 0:01:18 0:00:39 0:00:39 $'4070k\r' 50 398M 50 202M 0 0 5144k 0 0:01:19 0:00:40 0:00:39 $'4188k\r' 51 398M 51 205M 0 0 5098k 0 0:01:20 0:00:41 0:00:39 $'4131k\r' 52 398M 52 208M 0 0 5042k 0 0:01:20 0:00:42 0:00:38 $'3766k\r' 52 398M 52 210M 0 0 4979k 0 0:01:21 0:00:43 0:00:38 $'3257k\r' 53 398M 53 212M 0 0 4905k 0 0:01:23 0:00:44 0:00:39 $'2751k\r' 53 398M 53 213M 0 0 4841k 0 0:01:24 0:00:45 0:00:39 $'2397k\r' 54 398M 54 215M 0 0 4777k 0 0:01:25 0:00:46 0:00:39 $'2125k\r' 54 398M 54 218M 0 0 4729k 0 0:01:26 0:00:47 0:00:39 $'2088k\r' 55 398M 55 221M 0 0 4696k 0 0:01:26 0:00:48 0:00:38 $'2249k\r' 56 398M 56 224M 0 0 4661k 0 0:01:27 0:00:49 0:00:38 $'2488k\r' 56 398M 56 226M 0 0 4623k 0 0:01:28 0:00:50 0:00:38 $'2656k\r' 57 398M 57 229M 0 0 4556k 0 0:01:29 0:00:51 0:00:38 $'2657k\r' 57 398M 57 230M 0 0 4522k 0 0:01:30 0:00:52 0:00:38 $'2567k\r' 58 398M 58 233M 0 0 4477k 0 0:01:31 0:00:53 0:00:38 $'2368k\r' 58 398M 58 234M 0 0 4428k 0 0:01:32 0:00:54 0:00:38 $'2137k\r' 59 398M 59 236M 0 0 4375k 0 0:01:33 0:00:55 0:00:38 $'1896k\r' 59 398M 59 237M 0 0 4314k 0 0:01:34 0:00:56 0:00:38 $'1610k\r' 59 398M 59 237M 0 0 4253k 0 0:01:36 0:00:57 0:00:39 $'1436k\r' 60 398M 60 239M 0 0 4205k 0 0:01:37 0:00:58 0:00:39 $'1299k\r' 60 398M 60 241M 0 0 4173k 0 0:01:37 0:00:59 0:00:38 $'1404k\r' 61 398M 61 244M 0 0 4148k 0 0:01:38 0:01:00 0:00:38 $'1618k\r' 61 398M 61 246M 0 0 4124k 0 0:01:38 0:01:01 0:00:37 $'1989k\r' 62 398M 62 250M 0 0 4113k 0 0:01:39 0:01:02 0:00:37 $'2515k\r' 63 398M 63 254M 0 0 4116k 0 0:01:39 0:01:03 0:00:36 $'3076k\r' 65 398M 65 259M 0 0 4131k 0 0:01:38 0:01:04 0:00:34 $'3635k\r' 66 398M 66 265M 0 0 4162k 0 0:01:38 0:01:05 0:00:33 $'4335k\r' 68 398M 68 271M 0 0 4194k 0 0:01:37 0:01:06 0:00:31 $'5055k\r' 69 398M 69 278M 0 0 4242k 0 0:01:36 0:01:07 0:00:29 $'5846k\r' 71 398M 71 286M 0 0 4298k 0 0:01:34 0:01:08 0:00:26 $'6602k\r' 74 398M 74 295M 0 0 4363k 0 0:01:33 0:01:09 0:00:24 $'7347k\r' 76 398M 76 304M 0 0 4438k 0 0:01:32 0:01:10 0:00:22 $'8146k\r' 78 398M 78 313M 0 0 4503k 0 0:01:30 0:01:11 0:00:19 $'8588k\r' 80 398M 80 321M 0 0 4557k 0 0:01:29 0:01:12 0:00:17 $'8796k\r' 82 398M 82 330M 0 0 4623k 0 0:01:28 0:01:13 0:00:15 $'9062k\r' 85 398M 85 340M 0 0 4696k 0 0:01:26 0:01:14 0:00:12 $'9299k\r' 87 398M 87 350M 0 0 4770k 0 0:01:25 0:01:15 0:00:10 $'9436k\r' 90 398M 90 361M 0 0 4847k 0 0:01:24 0:01:16 0:00:08 $'9753k\r' 92 398M 92 369M 0 0 4901k 0 0:01:23 0:01:17 0:00:06 $'9868k\r' 95 398M 95 379M 0 0 4962k 0 0:01:22 0:01:18 0:00:04 $'9926k\r' 97 398M 97 389M 0 0 5033k 0 0:01:21 0:01:19 0:00:02 $'9.8M\r100' 398M 100 398M 0 0 5094k 0 0:01:20 0:01:20 --:--:-- 9.8M info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package llvm-upstream-17.0.5-ruyi.20231121 info: package llvm-upstream-17.0.5-ruyi.20231121 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 21 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 21 ']' ++ '[' '!' -d 21 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/llvm-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/llvm-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-rv64ilp32-elf ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 47.2M 0 40982 0 0 216k 0 0:03:43 --:--:-- 0:03:43 217k 13 47.2M 13 6481k 0 0 5565k 0 0:00:08 0:00:01 0:00:07 5567k 29 47.2M 29 13.9M 0 0 6577k 0 0:00:07 0:00:02 0:00:05 6577k 46 47.2M 46 22.0M 0 0 7119k 0 0:00:06 0:00:03 0:00:03 7120k 64 47.2M 64 30.6M 0 0 7545k 0 0:00:06 0:00:04 0:00:02 7546k 85 47.2M 85 40.2M 0 0 7983k 0 0:00:06 0:00:05 0:00:01 8270k 100 47.2M 100 47.2M 0 0 8275k 0 0:00:05 0:00:05 --:--:-- 8949k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 47.2M 0 40982 0 0 216k 0 0:03:43 --:--:-- 0:03:43 $'217k\r' 13 47.2M 13 6481k 0 0 5565k 0 0:00:08 0:00:01 0:00:07 $'5567k\r' 29 47.2M 29 13.9M 0 0 6577k 0 0:00:07 0:00:02 0:00:05 $'6577k\r' 46 47.2M 46 22.0M 0 0 7119k 0 0:00:06 0:00:03 0:00:03 $'7120k\r' 64 47.2M 64 30.6M 0 0 7545k 0 0:00:06 0:00:04 0:00:02 $'7546k\r' 85 47.2M 85 40.2M 0 0 7983k 0 0:00:06 0:00:05 0:00:01 $'8270k\r100' 47.2M 100 47.2M 0 0 8275k 0 0:00:05 0:00:05 --:--:-- 8949k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=3.0-ruyi.20240224 ++ bpb=3.0-ruyi.20240224/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- g8c718031673d-riscv64-plct-elf.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 18031673d-riscv64-plct-elf.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 47.2M 0 40982 0 0 216k 0 0:03:43 --:--:-- 0:03:43 $'217k\r' 13 47.2M 13 6481k 0 0 5565k 0 0:00:08 0:00:01 0:00:07 $'5567k\r' 29 47.2M 29 13.9M 0 0 6577k 0 0:00:07 0:00:02 0:00:05 $'6577k\r' 46 47.2M 46 22.0M 0 0 7119k 0 0:00:06 0:00:03 0:00:03 $'7120k\r' 64 47.2M 64 30.6M 0 0 7545k 0 0:00:06 0:00:04 0:00:02 $'7546k\r' 85 47.2M 85 40.2M 0 0 7983k 0 0:00:06 0:00:05 0:00:01 $'8270k\r100' 47.2M 100 47.2M 0 0 8275k 0 0:00:05 0:00:05 --:--:-- 8949k info: extracting RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 3.0-ruyi.20240224 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 3.0-ruyi.20240224 ']' ++ '[' '!' -d 3.0-ruyi.20240224 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-rv64ilp32-elf failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install gnu-plct-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 308M 2 6768k 0 0 7202k 0 0:00:43 --:--:-- 0:00:43 7207k 5 308M 5 17.4M 0 0 9222k 0 0:00:34 0:00:01 0:00:33 9225k 9 308M 9 28.6M 0 0 9965k 0 0:00:31 0:00:02 0:00:29 9968k 12 308M 12 38.6M 0 0 9.8M 0 0:00:31 0:00:03 0:00:28 9.8M 15 308M 15 49.1M 0 0 9.9M 0 0:00:31 0:00:04 0:00:27 9.9M 19 308M 19 60.0M 0 0 10.1M 0 0:00:30 0:00:05 0:00:25 10.6M 23 308M 23 71.2M 0 0 10.2M 0 0:00:30 0:00:06 0:00:24 10.7M 25 308M 25 80.1M 0 0 10.0M 0 0:00:30 0:00:07 0:00:23 10.3M 28 308M 28 87.8M 0 0 9.8M 0 0:00:31 0:00:08 0:00:23 9.8M 31 308M 31 96.1M 0 0 9902k 0 0:00:31 0:00:09 0:00:22 9625k 34 308M 34 105M 0 0 9832k 0 0:00:32 0:00:10 0:00:22 9206k 37 308M 37 114M 0 0 9845k 0 0:00:32 0:00:11 0:00:21 8928k 40 308M 40 125M 0 0 9915k 0 0:00:31 0:00:12 0:00:19 9251k 44 308M 44 136M 0 0 9.7M 0 0:00:31 0:00:13 0:00:18 9913k 47 308M 47 147M 0 0 9.8M 0 0:00:31 0:00:14 0:00:17 10.2M 51 308M 51 158M 0 0 9.9M 0 0:00:30 0:00:15 0:00:15 10.7M 54 308M 54 168M 0 0 9.9M 0 0:00:30 0:00:16 0:00:14 10.8M 58 308M 58 179M 0 0 10.0M 0 0:00:30 0:00:17 0:00:13 10.9M 61 308M 61 190M 0 0 10.0M 0 0:00:30 0:00:18 0:00:12 10.8M 64 308M 64 199M 0 0 9.9M 0 0:00:30 0:00:19 0:00:11 10.3M 67 308M 67 208M 0 0 9.9M 0 0:00:31 0:00:20 0:00:11 9.9M 70 308M 70 217M 0 0 9.8M 0 0:00:31 0:00:21 0:00:10 9856k 73 308M 73 225M 0 0 9.8M 0 0:00:31 0:00:22 0:00:09 9274k 75 308M 75 232M 0 0 9946k 0 0:00:31 0:00:23 0:00:08 8620k 77 308M 77 239M 0 0 9829k 0 0:00:32 0:00:24 0:00:08 8217k 80 308M 80 246M 0 0 9741k 0 0:00:32 0:00:25 0:00:07 7920k 82 308M 82 255M 0 0 9721k 0 0:00:32 0:00:26 0:00:06 7929k 86 308M 86 265M 0 0 9728k 0 0:00:32 0:00:27 0:00:05 8265k 89 308M 89 275M 0 0 9760k 0 0:00:32 0:00:28 0:00:04 8867k 93 308M 93 286M 0 0 9811k 0 0:00:32 0:00:29 0:00:03 9724k 96 308M 96 298M 0 0 9862k 0 0:00:32 0:00:30 0:00:02 10.2M 100 308M 100 308M 0 0 9908k 0 0:00:31 0:00:31 --:--:-- 10.6M +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 308M 2 6768k 0 0 7202k 0 0:00:43 --:--:-- 0:00:43 $'7207k\r' 5 308M 5 17.4M 0 0 9222k 0 0:00:34 0:00:01 0:00:33 $'9225k\r' 9 308M 9 28.6M 0 0 9965k 0 0:00:31 0:00:02 0:00:29 $'9968k\r' 12 308M 12 38.6M 0 0 9.8M 0 0:00:31 0:00:03 0:00:28 $'9.8M\r' 15 308M 15 49.1M 0 0 9.9M 0 0:00:31 0:00:04 0:00:27 $'9.9M\r' 19 308M 19 60.0M 0 0 10.1M 0 0:00:30 0:00:05 0:00:25 $'10.6M\r' 23 308M 23 71.2M 0 0 10.2M 0 0:00:30 0:00:06 0:00:24 $'10.7M\r' 25 308M 25 80.1M 0 0 10.0M 0 0:00:30 0:00:07 0:00:23 $'10.3M\r' 28 308M 28 87.8M 0 0 9.8M 0 0:00:31 0:00:08 0:00:23 $'9.8M\r' 31 308M 31 96.1M 0 0 9902k 0 0:00:31 0:00:09 0:00:22 $'9625k\r' 34 308M 34 105M 0 0 9832k 0 0:00:32 0:00:10 0:00:22 $'9206k\r' 37 308M 37 114M 0 0 9845k 0 0:00:32 0:00:11 0:00:21 $'8928k\r' 40 308M 40 125M 0 0 9915k 0 0:00:31 0:00:12 0:00:19 $'9251k\r' 44 308M 44 136M 0 0 9.7M 0 0:00:31 0:00:13 0:00:18 $'9913k\r' 47 308M 47 147M 0 0 9.8M 0 0:00:31 0:00:14 0:00:17 $'10.2M\r' 51 308M 51 158M 0 0 9.9M 0 0:00:30 0:00:15 0:00:15 $'10.7M\r' 54 308M 54 168M 0 0 9.9M 0 0:00:30 0:00:16 0:00:14 $'10.8M\r' 58 308M 58 179M 0 0 10.0M 0 0:00:30 0:00:17 0:00:13 $'10.9M\r' 61 308M 61 190M 0 0 10.0M 0 0:00:30 0:00:18 0:00:12 $'10.8M\r' 64 308M 64 199M 0 0 9.9M 0 0:00:30 0:00:19 0:00:11 $'10.3M\r' 67 308M 67 208M 0 0 9.9M 0 0:00:31 0:00:20 0:00:11 $'9.9M\r' 70 308M 70 217M 0 0 9.8M 0 0:00:31 0:00:21 0:00:10 $'9856k\r' 73 308M 73 225M 0 0 9.8M 0 0:00:31 0:00:22 0:00:09 $'9274k\r' 75 308M 75 232M 0 0 9946k 0 0:00:31 0:00:23 0:00:08 $'8620k\r' 77 308M 77 239M 0 0 9829k 0 0:00:32 0:00:24 0:00:08 $'8217k\r' 80 308M 80 246M 0 0 9741k 0 0:00:32 0:00:25 0:00:07 $'7920k\r' 82 308M 82 255M 0 0 9721k 0 0:00:32 0:00:26 0:00:06 $'7929k\r' 86 308M 86 265M 0 0 9728k 0 0:00:32 0:00:27 0:00:05 $'8265k\r' 89 308M 89 275M 0 0 9760k 0 0:00:32 0:00:28 0:00:04 $'8867k\r' 93 308M 93 286M 0 0 9811k 0 0:00:32 0:00:29 0:00:03 $'9724k\r' 96 308M 96 298M 0 0 9862k 0 0:00:32 0:00:30 0:00:02 $'10.2M\r100' 308M 100 308M 0 0 9908k 0 0:00:31 0:00:31 --:--:-- 10.6M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=222 ++ bpb=222/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 .8.0-riscv64-plctxthead-linux-gnu.tar.xz to /home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 -riscv64-plctxthead-linux-gnu.tar.xz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 2 308M 2 6768k 0 0 7202k 0 0:00:43 --:--:-- 0:00:43 $'7207k\r' 5 308M 5 17.4M 0 0 9222k 0 0:00:34 0:00:01 0:00:33 $'9225k\r' 9 308M 9 28.6M 0 0 9965k 0 0:00:31 0:00:02 0:00:29 $'9968k\r' 12 308M 12 38.6M 0 0 9.8M 0 0:00:31 0:00:03 0:00:28 $'9.8M\r' 15 308M 15 49.1M 0 0 9.9M 0 0:00:31 0:00:04 0:00:27 $'9.9M\r' 19 308M 19 60.0M 0 0 10.1M 0 0:00:30 0:00:05 0:00:25 $'10.6M\r' 23 308M 23 71.2M 0 0 10.2M 0 0:00:30 0:00:06 0:00:24 $'10.7M\r' 25 308M 25 80.1M 0 0 10.0M 0 0:00:30 0:00:07 0:00:23 $'10.3M\r' 28 308M 28 87.8M 0 0 9.8M 0 0:00:31 0:00:08 0:00:23 $'9.8M\r' 31 308M 31 96.1M 0 0 9902k 0 0:00:31 0:00:09 0:00:22 $'9625k\r' 34 308M 34 105M 0 0 9832k 0 0:00:32 0:00:10 0:00:22 $'9206k\r' 37 308M 37 114M 0 0 9845k 0 0:00:32 0:00:11 0:00:21 $'8928k\r' 40 308M 40 125M 0 0 9915k 0 0:00:31 0:00:12 0:00:19 $'9251k\r' 44 308M 44 136M 0 0 9.7M 0 0:00:31 0:00:13 0:00:18 $'9913k\r' 47 308M 47 147M 0 0 9.8M 0 0:00:31 0:00:14 0:00:17 $'10.2M\r' 51 308M 51 158M 0 0 9.9M 0 0:00:30 0:00:15 0:00:15 $'10.7M\r' 54 308M 54 168M 0 0 9.9M 0 0:00:30 0:00:16 0:00:14 $'10.8M\r' 58 308M 58 179M 0 0 10.0M 0 0:00:30 0:00:17 0:00:13 $'10.9M\r' 61 308M 61 190M 0 0 10.0M 0 0:00:30 0:00:18 0:00:12 $'10.8M\r' 64 308M 64 199M 0 0 9.9M 0 0:00:30 0:00:19 0:00:11 $'10.3M\r' 67 308M 67 208M 0 0 9.9M 0 0:00:31 0:00:20 0:00:11 $'9.9M\r' 70 308M 70 217M 0 0 9.8M 0 0:00:31 0:00:21 0:00:10 $'9856k\r' 73 308M 73 225M 0 0 9.8M 0 0:00:31 0:00:22 0:00:09 $'9274k\r' 75 308M 75 232M 0 0 9946k 0 0:00:31 0:00:23 0:00:08 $'8620k\r' 77 308M 77 239M 0 0 9829k 0 0:00:32 0:00:24 0:00:08 $'8217k\r' 80 308M 80 246M 0 0 9741k 0 0:00:32 0:00:25 0:00:07 $'7920k\r' 82 308M 82 255M 0 0 9721k 0 0:00:32 0:00:26 0:00:06 $'7929k\r' 86 308M 86 265M 0 0 9728k 0 0:00:32 0:00:27 0:00:05 $'8265k\r' 89 308M 89 275M 0 0 9760k 0 0:00:32 0:00:28 0:00:04 $'8867k\r' 93 308M 93 286M 0 0 9811k 0 0:00:32 0:00:29 0:00:03 $'9724k\r' 96 308M 96 298M 0 0 9862k 0 0:00:32 0:00:30 0:00:02 $'10.2M\r100' 308M 100 308M 0 0 9908k 0 0:00:31 0:00:31 --:--:-- 10.6M info: extracting RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz for package gnu-plct-xthead-2.8.0-ruyi.20240222 info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 222 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z 222 ']' ++ '[' '!' -d 222 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install toolchain/gnu-plct-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install toolchain/gnu-plct-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for i in toolchain emulator ++ test_oneshot emulator ++ local ret retc bp bpb +++ ruyi list +++ grep emulator +++ sed 's/^* emulator\///' ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-xthead ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 14 3577k 14 506k 0 0 808k 0 0:00:04 --:--:-- 0:00:04 808k 60 3577k 60 2154k 0 0 1326k 0 0:00:02 0:00:01 0:00:01 1326k 100 3577k 100 3577k 0 0 1584k 0 0:00:02 0:00:02 --:--:-- 1585k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 14 3577k 14 506k 0 0 808k 0 0:00:04 --:--:-- 0:00:04 $'808k\r' 60 3577k 60 2154k 0 0 1326k 0 0:00:02 0:00:01 0:00:01 $'1326k\r100' 3577k 100 3577k 0 0 1584k 0 0:00:02 0:00:02 --:--:-- 1585k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=i.20231207+g03813c9fe8 ++ bpb=i.20231207+g03813c9fe8/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 07.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a md64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 14 3577k 14 506k 0 0 808k 0 0:00:04 --:--:-- 0:00:04 $'808k\r' 60 3577k 60 2154k 0 0 1326k 0 0:00:02 0:00:01 0:00:01 $'1326k\r100' 3577k 100 3577k 0 0 1584k 0 0:00:02 0:00:02 --:--:-- 1585k info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy i.20231207+g03813c9fe8 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z i.20231207+g03813c9fe8 ']' ++ '[' '!' -d i.20231207+g03813c9fe8 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-xthead failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-user-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 22 14.5M 22 3298k 0 0 2958k 0 0:00:05 0:00:01 0:00:04 2958k 51 14.5M 51 7666k 0 0 3687k 0 0:00:04 0:00:02 0:00:02 3687k 82 14.5M 82 11.9M 0 0 3986k 0 0:00:03 0:00:03 --:--:-- 3986k 100 14.5M 100 14.5M 0 0 4103k 0 0:00:03 0:00:03 --:--:-- 4103k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128' ++ retc=0 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 22 14.5M 22 3298k 0 0 2958k 0 0:00:05 0:00:01 0:00:04 $'2958k\r' 51 14.5M 51 7666k 0 0 3687k 0 0:00:04 0:00:02 0:00:02 $'3687k\r' 82 14.5M 82 11.9M 0 0 3986k 0 0:00:03 0:00:03 --:--:-- $'3986k\r100' 14.5M 100 14.5M 0 0 4103k 0 0:00:03 0:00:03 --:--:-- 4103k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 +++ tail -n 1 +++ awk '{print $NF}' ++ bp=uyi.20240128 ++ bpb=uyi.20240128/bin ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 0128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 .amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 22 14.5M 22 3298k 0 0 2958k 0 0:00:05 0:00:01 0:00:04 $'2958k\r' 51 14.5M 51 7666k 0 0 3687k 0 0:00:04 0:00:02 0:00:02 $'3687k\r' 82 14.5M 82 11.9M 0 0 3986k 0 0:00:03 0:00:03 --:--:-- $'3986k\r100' 14.5M 100 14.5M 0 0 4103k 0 0:00:03 0:00:03 --:--:-- 4103k info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r uyi.20240128 ++ grep 'no binary' ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z uyi.20240128 ']' ++ '[' '!' -d uyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-user-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ for tc in `ruyi list | grep $1 | sed "s/^* $1\///"` +++ ruyi install qemu-system-riscv-upstream ++ ret='info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 +240128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 +28.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 82.3M 0 265k 0 0 862k 0 0:01:37 --:--:-- 0:01:37 863k 5 82.3M 5 4873k 0 0 3749k 0 0:00:22 0:00:01 0:00:21 3749k 9 82.3M 9 8393k 0 0 3650k 0 0:00:23 0:00:02 0:00:21 3651k 13 82.3M 13 10.9M 0 0 3400k 0 0:00:24 0:00:03 0:00:21 3400k 16 82.3M 16 13.4M 0 0 3195k 0 0:00:26 0:00:04 0:00:22 3195k 19 82.3M 19 16.0M 0 0 3109k 0 0:00:27 0:00:05 0:00:22 3247k 22 82.3M 22 18.8M 0 0 3069k 0 0:00:27 0:00:06 0:00:21 2892k 26 82.3M 26 21.4M 0 0 3011k 0 0:00:28 0:00:07 0:00:21 2716k 28 82.3M 28 23.8M 0 0 2943k 0 0:00:28 0:00:08 0:00:20 2640k 32 82.3M 32 26.8M 0 0 2951k 0 0:00:28 0:00:09 0:00:19 2742k 36 82.3M 36 29.7M 0 0 2960k 0 0:00:28 0:00:10 0:00:18 2803k 39 82.3M 39 32.8M 0 0 2976k 0 0:00:28 0:00:11 0:00:17 2858k 43 82.3M 43 35.8M 0 0 2982k 0 0:00:28 0:00:12 0:00:16 2940k 46 82.3M 46 38.1M 0 0 2939k 0 0:00:28 0:00:13 0:00:15 2934k 50 82.3M 50 41.3M 0 0 2958k 0 0:00:28 0:00:14 0:00:14 2969k 53 82.3M 53 44.2M 0 0 2962k 0 0:00:28 0:00:15 0:00:13 2965k 57 82.3M 57 47.2M 0 0 2968k 0 0:00:28 0:00:16 0:00:12 2950k 61 82.3M 61 50.4M 0 0 2987k 0 0:00:28 0:00:17 0:00:11 2998k 65 82.3M 65 53.8M 0 0 3011k 0 0:00:28 0:00:18 0:00:10 3200k 69 82.3M 69 57.0M 0 0 3028k 0 0:00:27 0:00:19 0:00:08 3228k 73 82.3M 73 60.4M 0 0 3050k 0 0:00:27 0:00:20 0:00:07 3322k 81 82.3M 81 66.8M 0 0 3068k 0 0:00:27 0:00:22 0:00:05 3342k 85 82.3M 85 70.6M 0 0 3107k 0 0:00:27 0:00:23 0:00:04 3453k 90 82.3M 90 74.6M 0 0 3147k 0 0:00:26 0:00:24 0:00:02 3565k 95 82.3M 95 78.3M 0 0 3172k 0 0:00:26 0:00:25 0:00:01 3637k 100 82.3M 100 82.3M 0 0 3221k 0 0:00:26 0:00:26 --:--:-- 3808k +info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst +for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 +-ruyi.20240128' ++ retc=0 +++ tail -n 1 +++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 82.3M 0 265k 0 0 862k 0 0:01:37 --:--:-- 0:01:37 $'863k\r' 5 82.3M 5 4873k 0 0 3749k 0 0:00:22 0:00:01 0:00:21 $'3749k\r' 9 82.3M 9 8393k 0 0 3650k 0 0:00:23 0:00:02 0:00:21 $'3651k\r' 13 82.3M 13 10.9M 0 0 3400k 0 0:00:24 0:00:03 0:00:21 $'3400k\r' 16 82.3M 16 13.4M 0 0 3195k 0 0:00:26 0:00:04 0:00:22 $'3195k\r' 19 82.3M 19 16.0M 0 0 3109k 0 0:00:27 0:00:05 0:00:22 $'3247k\r' 22 82.3M 22 18.8M 0 0 3069k 0 0:00:27 0:00:06 0:00:21 $'2892k\r' 26 82.3M 26 21.4M 0 0 3011k 0 0:00:28 0:00:07 0:00:21 $'2716k\r' 28 82.3M 28 23.8M 0 0 2943k 0 0:00:28 0:00:08 0:00:20 $'2640k\r' 32 82.3M 32 26.8M 0 0 2951k 0 0:00:28 0:00:09 0:00:19 $'2742k\r' 36 82.3M 36 29.7M 0 0 2960k 0 0:00:28 0:00:10 0:00:18 $'2803k\r' 39 82.3M 39 32.8M 0 0 2976k 0 0:00:28 0:00:11 0:00:17 $'2858k\r' 43 82.3M 43 35.8M 0 0 2982k 0 0:00:28 0:00:12 0:00:16 $'2940k\r' 46 82.3M 46 38.1M 0 0 2939k 0 0:00:28 0:00:13 0:00:15 $'2934k\r' 50 82.3M 50 41.3M 0 0 2958k 0 0:00:28 0:00:14 0:00:14 $'2969k\r' 53 82.3M 53 44.2M 0 0 2962k 0 0:00:28 0:00:15 0:00:13 $'2965k\r' 57 82.3M 57 47.2M 0 0 2968k 0 0:00:28 0:00:16 0:00:12 $'2950k\r' 61 82.3M 61 50.4M 0 0 2987k 0 0:00:28 0:00:17 0:00:11 $'2998k\r' 65 82.3M 65 53.8M 0 0 3011k 0 0:00:28 0:00:18 0:00:10 $'3200k\r' 69 82.3M 69 57.0M 0 0 3028k 0 0:00:27 0:00:19 0:00:08 $'3228k\r' 73 82.3M 73 60.4M 0 0 3050k 0 0:00:27 0:00:20 0:00:07 $'3322k\r' 81 82.3M 81 66.8M 0 0 3068k 0 0:00:27 0:00:22 0:00:05 $'3342k\r' 85 82.3M 85 70.6M 0 0 3107k 0 0:00:27 0:00:23 0:00:04 $'3453k\r' 90 82.3M 90 74.6M 0 0 3147k 0 0:00:26 0:00:24 0:00:02 $'3565k\r' 95 82.3M 95 78.3M 0 0 3172k 0 0:00:26 0:00:25 0:00:01 $'3637k\r100' 82.3M 100 82.3M 0 0 3221k 0 0:00:26 0:00:26 --:--:-- 3808k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 +++ awk '{print $NF}' ++ bp=-ruyi.20240128 ++ bpb=-ruyi.20240128/bin ++ grep 'no binary' ++ echo info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-system-riscv-upstream-8.2.0.ruyi-20 240128.amd64.tar.zst to /home/jenkins/.cache/ruyi/distfiles/qemu-system-riscv-upstream-8.2.0.ruyi-202401 28.amd64.tar.zst % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $'\r' 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- $'0\r' 0 82.3M 0 265k 0 0 862k 0 0:01:37 --:--:-- 0:01:37 $'863k\r' 5 82.3M 5 4873k 0 0 3749k 0 0:00:22 0:00:01 0:00:21 $'3749k\r' 9 82.3M 9 8393k 0 0 3650k 0 0:00:23 0:00:02 0:00:21 $'3651k\r' 13 82.3M 13 10.9M 0 0 3400k 0 0:00:24 0:00:03 0:00:21 $'3400k\r' 16 82.3M 16 13.4M 0 0 3195k 0 0:00:26 0:00:04 0:00:22 $'3195k\r' 19 82.3M 19 16.0M 0 0 3109k 0 0:00:27 0:00:05 0:00:22 $'3247k\r' 22 82.3M 22 18.8M 0 0 3069k 0 0:00:27 0:00:06 0:00:21 $'2892k\r' 26 82.3M 26 21.4M 0 0 3011k 0 0:00:28 0:00:07 0:00:21 $'2716k\r' 28 82.3M 28 23.8M 0 0 2943k 0 0:00:28 0:00:08 0:00:20 $'2640k\r' 32 82.3M 32 26.8M 0 0 2951k 0 0:00:28 0:00:09 0:00:19 $'2742k\r' 36 82.3M 36 29.7M 0 0 2960k 0 0:00:28 0:00:10 0:00:18 $'2803k\r' 39 82.3M 39 32.8M 0 0 2976k 0 0:00:28 0:00:11 0:00:17 $'2858k\r' 43 82.3M 43 35.8M 0 0 2982k 0 0:00:28 0:00:12 0:00:16 $'2940k\r' 46 82.3M 46 38.1M 0 0 2939k 0 0:00:28 0:00:13 0:00:15 $'2934k\r' 50 82.3M 50 41.3M 0 0 2958k 0 0:00:28 0:00:14 0:00:14 $'2969k\r' 53 82.3M 53 44.2M 0 0 2962k 0 0:00:28 0:00:15 0:00:13 $'2965k\r' 57 82.3M 57 47.2M 0 0 2968k 0 0:00:28 0:00:16 0:00:12 $'2950k\r' 61 82.3M 61 50.4M 0 0 2987k 0 0:00:28 0:00:17 0:00:11 $'2998k\r' 65 82.3M 65 53.8M 0 0 3011k 0 0:00:28 0:00:18 0:00:10 $'3200k\r' 69 82.3M 69 57.0M 0 0 3028k 0 0:00:27 0:00:19 0:00:08 $'3228k\r' 73 82.3M 73 60.4M 0 0 3050k 0 0:00:27 0:00:20 0:00:07 $'3322k\r' 81 82.3M 81 66.8M 0 0 3068k 0 0:00:27 0:00:22 0:00:05 $'3342k\r' 85 82.3M 85 70.6M 0 0 3107k 0 0:00:27 0:00:23 0:00:04 $'3453k\r' 90 82.3M 90 74.6M 0 0 3147k 0 0:00:26 0:00:24 0:00:02 $'3565k\r' 95 82.3M 95 78.3M 0 0 3172k 0 0:00:26 0:00:25 0:00:01 $'3637k\r100' 82.3M 100 82.3M 0 0 3221k 0 0:00:26 0:00:26 --:--:-- 3808k info: extracting qemu-system-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 info: package qemu-system-riscv-upstream-8.2.0-ruyi.20240128 installed to /home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-system-riscv-upstream-8.2.0 -ruyi.20240128 ++ [[ 1x == \0\x ]] ++ [[ 0x != \0\x ]] ++ '[' -z -ruyi.20240128 ']' ++ '[' '!' -d -ruyi.20240128 ']' ++ CHECK_RESULT 0 0 0 'Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install emulator/qemu-system-riscv-upstream failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ continue ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:43:33 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:43:33 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:43:33 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp2hz2d2rp ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp2hz2d2rp ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp2hz2d2rp +Wed Apr 10 02:43:51 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp2hz2d2rp +Wed Apr 10 02:43:52 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:43:53 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_56_58.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_56_58.log new file mode 100644 index 00000000..429562a1 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_cmake_ninja/2024-04-10-02_56_58.log @@ -0,0 +1,589 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=60m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:56:58 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp0zfsh93e ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp0zfsh93e ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp0zfsh93e ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 02:57:27 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp0zfsh93e ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp0zfsh93e ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 02:57:27 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp0zfsh93e ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 23.7M 6 1658k 0 0 1833k 0 0:00:13 --:--:-- 0:00:13 1833k 16 23.7M 16 3898k 0 0 2053k 0 0:00:11 0:00:01 0:00:10 2054k 28 23.7M 28 6986k 0 0 2411k 0 0:00:10 0:00:02 0:00:08 2411k 45 23.7M 45 10.7M 0 0 2823k 0 0:00:08 0:00:03 0:00:05 2824k 65 23.7M 65 15.5M 0 0 3258k 0 0:00:07 0:00:04 0:00:03 3259k 89 23.7M 89 21.3M 0 0 3705k 0 0:00:06 0:00:05 0:00:01 4044k 100 23.7M 100 23.7M 0 0 3874k 0 0:00:06 0:00:06 --:--:-- 4665k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ DNF_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmp0zfsh93e ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmp0zfsh93e ++ tmpfile2=/tmp/tmp0zfsh93e ++ '[' -z /tmp/tmp0zfsh93e ']' ++ APT_INSTALL 'cmake ninja-build' ++ pkgs='cmake ninja-build' ++ node=1 ++ '[' -z /tmp/tmp0zfsh93e ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'cmake ninja-build' --node 1 --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 02:59:26 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp0zfsh93e ']' ++ PACMAN_INSTALL 'cmake ninja' ++ pkgs='cmake ninja' ++ node=1 ++ '[' -z /tmp/tmp0zfsh93e ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'cmake ninja' --node 1 --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 02:59:26 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp0zfsh93e ']' ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:59:26 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:59:26 2024 - INFO - Start to run test. ++ mkdir build ++ cd build ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct gnu-plct-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 308M 1 4217k 0 0 4424k 0 0:01:11 --:--:-- 0:01:11 4425k 3 308M 3 10.4M 0 0 5484k 0 0:00:57 0:00:01 0:00:56 5485k 5 308M 5 16.7M 0 0 5811k 0 0:00:54 0:00:02 0:00:52 5811k 7 308M 7 22.4M 0 0 5822k 0 0:00:54 0:00:03 0:00:51 5822k 9 308M 9 28.3M 0 0 5861k 0 0:00:53 0:00:04 0:00:49 5861k 11 308M 11 34.2M 0 0 5886k 0 0:00:53 0:00:05 0:00:48 6166k 12 308M 12 39.9M 0 0 5876k 0 0:00:53 0:00:06 0:00:47 6028k 14 308M 14 45.8M 0 0 5897k 0 0:00:53 0:00:07 0:00:46 5948k 16 308M 16 51.3M 0 0 5873k 0 0:00:53 0:00:08 0:00:45 5913k 18 308M 18 56.7M 0 0 5836k 0 0:00:54 0:00:09 0:00:45 5811k 20 308M 20 62.3M 0 0 5824k 0 0:00:54 0:00:10 0:00:44 5750k 21 308M 21 67.6M 0 0 5793k 0 0:00:54 0:00:11 0:00:43 5679k 23 308M 23 73.1M 0 0 5786k 0 0:00:54 0:00:12 0:00:42 5609k 25 308M 25 78.7M 0 0 5780k 0 0:00:54 0:00:13 0:00:41 5612k 27 308M 27 84.9M 0 0 5818k 0 0:00:54 0:00:14 0:00:40 5782k 29 308M 29 89.7M 0 0 5760k 0 0:00:54 0:00:15 0:00:39 5619k 30 308M 30 92.7M 0 0 5603k 0 0:00:56 0:00:16 0:00:40 5148k 31 308M 31 95.6M 0 0 5453k 0 0:00:57 0:00:17 0:00:40 4592k 31 308M 31 98.2M 0 0 5310k 0 0:00:59 0:00:18 0:00:41 4000k 32 308M 32 101M 0 0 5204k 0 0:01:00 0:00:19 0:00:41 3369k 34 308M 34 105M 0 0 5149k 0 0:01:01 0:00:20 0:00:41 3200k 35 308M 35 110M 0 0 5134k 0 0:01:01 0:00:21 0:00:40 3545k 37 308M 37 115M 0 0 5156k 0 0:01:01 0:00:22 0:00:39 4091k 39 308M 39 121M 0 0 5210k 0 0:01:00 0:00:23 0:00:37 4833k 41 308M 41 129M 0 0 5296k 0 0:00:59 0:00:24 0:00:35 5664k 44 308M 44 136M 0 0 5404k 0 0:00:58 0:00:25 0:00:33 6474k 47 308M 47 145M 0 0 5534k 0 0:00:57 0:00:26 0:00:31 7289k 50 308M 50 155M 0 0 5682k 0 0:00:55 0:00:27 0:00:28 8099k 53 308M 53 165M 0 0 5846k 0 0:00:54 0:00:28 0:00:26 8893k 57 308M 57 176M 0 0 6028k 0 0:00:52 0:00:29 0:00:23 9680k 60 308M 60 186M 0 0 6174k 0 0:00:51 0:00:30 0:00:21 9.9M 63 308M 63 194M 0 0 6245k 0 0:00:50 0:00:31 0:00:19 9.8M 65 308M 65 203M 0 0 6309k 0 0:00:50 0:00:32 0:00:18 9811k 68 308M 68 210M 0 0 6348k 0 0:00:49 0:00:33 0:00:16 9254k 70 308M 70 217M 0 0 6370k 0 0:00:49 0:00:34 0:00:15 8422k 72 308M 72 225M 0 0 6409k 0 0:00:49 0:00:35 0:00:14 7859k 75 308M 75 233M 0 0 6461k 0 0:00:48 0:00:36 0:00:12 7840k 77 308M 77 240M 0 0 6479k 0 0:00:48 0:00:37 0:00:11 7600k 80 308M 80 247M 0 0 6512k 0 0:00:48 0:00:38 0:00:10 7625k 82 308M 82 254M 0 0 6519k 0 0:00:48 0:00:39 0:00:09 7561k 85 308M 85 264M 0 0 6511k 0 0:00:48 0:00:41 0:00:07 7158k 86 308M 86 266M 0 0 6510k 0 0:00:48 0:00:41 0:00:07 6873k 88 308M 88 273M 0 0 6528k 0 0:00:48 0:00:42 0:00:06 6902k 91 308M 91 281M 0 0 6555k 0 0:00:48 0:00:43 0:00:05 6892k 93 308M 93 288M 0 0 6561k 0 0:00:48 0:00:44 0:00:04 6896k 95 308M 95 294M 0 0 6556k 0 0:00:48 0:00:45 0:00:03 6996k 97 308M 97 299M 0 0 6539k 0 0:00:48 0:00:46 0:00:02 6780k 99 308M 99 305M 0 0 6532k 0 0:00:48 0:00:47 0:00:01 6569k 100 308M 100 308M 0 0 6538k 0 0:00:48 0:00:48 --:--:-- 6361k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 2 238M 2 5168k 0 0 4696k 0 0:00:52 0:00:01 0:00:51 4698k 4 238M 4 11.4M 0 0 5574k 0 0:00:43 0:00:02 0:00:41 5575k 7 238M 7 18.3M 0 0 6073k 0 0:00:40 0:00:03 0:00:37 6073k 10 238M 10 26.0M 0 0 6515k 0 0:00:37 0:00:04 0:00:33 6515k 14 238M 14 34.5M 0 0 6948k 0 0:00:35 0:00:05 0:00:30 7090k 18 238M 18 43.8M 0 0 7370k 0 0:00:33 0:00:06 0:00:27 7958k 21 238M 21 50.7M 0 0 7318k 0 0:00:33 0:00:07 0:00:26 8051k 23 238M 23 56.2M 0 0 7108k 0 0:00:34 0:00:08 0:00:26 7750k 25 238M 25 61.8M 0 0 6958k 0 0:00:35 0:00:09 0:00:26 7322k 28 238M 28 67.0M 0 0 6799k 0 0:00:35 0:00:10 0:00:25 6648k 30 238M 30 72.9M 0 0 6733k 0 0:00:36 0:00:11 0:00:25 5958k 33 238M 33 79.2M 0 0 6706k 0 0:00:36 0:00:12 0:00:24 5836k 35 238M 35 85.2M 0 0 6666k 0 0:00:36 0:00:13 0:00:23 5948k 38 238M 38 91.0M 0 0 6610k 0 0:00:37 0:00:14 0:00:23 5977k 40 238M 40 97.0M 0 0 6578k 0 0:00:37 0:00:15 0:00:22 6131k 42 238M 42 102M 0 0 6519k 0 0:00:37 0:00:16 0:00:21 6041k 44 238M 44 107M 0 0 6430k 0 0:00:38 0:00:17 0:00:21 5763k 46 238M 46 111M 0 0 6306k 0 0:00:38 0:00:18 0:00:20 5366k 48 238M 48 116M 0 0 6226k 0 0:00:39 0:00:19 0:00:20 5145k 50 238M 50 120M 0 0 6155k 0 0:00:39 0:00:20 0:00:19 4876k 52 238M 52 125M 0 0 6067k 0 0:00:40 0:00:21 0:00:19 4612k 53 238M 53 128M 0 0 5938k 0 0:00:41 0:00:22 0:00:19 4258k 55 238M 55 131M 0 0 5842k 0 0:00:41 0:00:23 0:00:18 4163k 56 238M 56 135M 0 0 5773k 0 0:00:42 0:00:24 0:00:18 4041k 58 238M 58 139M 0 0 5704k 0 0:00:42 0:00:25 0:00:17 3891k 61 238M 61 147M 0 0 5421k 0 0:00:45 0:00:27 0:00:18 3389k 61 238M 61 148M 0 0 5394k 0 0:00:45 0:00:28 0:00:17 3387k 63 238M 63 151M 0 0 5329k 0 0:00:45 0:00:29 0:00:16 3351k 65 238M 65 155M 0 0 5296k 0 0:00:46 0:00:30 0:00:16 3378k 67 238M 67 160M 0 0 5289k 0 0:00:46 0:00:31 0:00:15 3557k 69 238M 69 166M 0 0 5299k 0 0:00:46 0:00:32 0:00:14 4510k 71 238M 71 171M 0 0 5314k 0 0:00:46 0:00:33 0:00:13 4864k 74 238M 74 178M 0 0 5346k 0 0:00:45 0:00:34 0:00:11 5446k 76 238M 76 183M 0 0 5341k 0 0:00:45 0:00:35 0:00:10 5612k 78 238M 78 187M 0 0 5314k 0 0:00:46 0:00:36 0:00:10 5470k 79 238M 79 191M 0 0 5274k 0 0:00:46 0:00:37 0:00:09 5110k 81 238M 81 195M 0 0 5243k 0 0:00:46 0:00:38 0:00:08 4777k 83 238M 83 199M 0 0 5212k 0 0:00:46 0:00:39 0:00:07 4299k 84 238M 84 203M 0 0 5186k 0 0:00:47 0:00:40 0:00:07 4096k 86 238M 86 207M 0 0 5179k 0 0:00:47 0:00:41 0:00:06 4204k 89 238M 89 213M 0 0 5204k 0 0:00:47 0:00:42 0:00:05 4691k 92 238M 92 220M 0 0 5244k 0 0:00:46 0:00:43 0:00:03 5251k 95 238M 95 227M 0 0 5282k 0 0:00:46 0:00:44 0:00:02 5825k 97 238M 97 233M 0 0 5298k 0 0:00:46 0:00:45 0:00:01 6198k 99 238M 99 238M 0 0 5306k 0 0:00:46 0:00:46 --:--:-- 6348k 100 238M 100 238M 0 0 5306k 0 0:00:46 0:00:46 --:--:-- 6375k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct-xthead sipeed-lpi4a ./coremark_venv +info: Creating a Ruyi virtual environment at coremark_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/coremark_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ ruyi extract coremark +info: downloading https://mirror.iscas.ac.cn/ruyisdk/dist/coremark-1.01.tar.gz +to /home/jenkins/.cache/ruyi/distfiles/coremark-1.01.tar.gz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 391k 100 391k 0 0 1176k 0 --:--:-- --:--:-- --:--:-- 1180k +info: extracting coremark-1.01.tar.gz for package coremark-1.0.1 +info: package coremark-1.0.1 extracted to current working directory ++ . coremark_venv/bin/ruyi-activate +++ '[' coremark_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/coremark_venv +++ RUYI_VENV_PROMPT=coremark_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi coremark_venv» ' +++ export PS1 ++ sed -i 's/\bgcc\b/riscv64-plctxthead-linux-gnu-gcc/g' linux64/core_portme.mak ++ make PORT_DIR=linux64 link +riscv64-plctxthead-linux-gnu-gcc -O2 -Ilinux64 -I. -DFLAGS_STR=\""-O2 -lrt"\" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c linux64/core_portme.c -o ./coremark.exe -lrt +Link performed along with compile ++ file coremark.exe ++ grep -i RISC-V +coremark.exe: ELF 64-bit LSB executable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-riscv64-lp64d.so.1, BuildID[sha1]=52f6a7dcb25b04beb6ee405c40eb6565116affa5, for GNU/Linux 4.15.0, with debug_info, not stripped ++ CHECK_RESULT 0 0 0 'Check ruyi coremark build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi coremark build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ tar zxf ../common/source/zlib-ng-2.1.5.tar.gz ++ cd ./zlib-ng-2.1.5 ++ ruyi venv -t gnu-plct milkv-duo ./zlib_venv +info: Creating a Ruyi virtual environment at zlib_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/build/zlib-ng-2.1.5/zlib_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ . zlib_venv/bin/ruyi-activate +++ '[' zlib_venv/bin/ruyi-activate = ruyi_test_cmake_ninja.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv +++ RUYI_VENV_PROMPT=zlib_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi zlib_venv» ' +++ export PS1 +++ pwd ++ cmake . -G Ninja -DCMAKE_C_COMPILER=riscv64-plct-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install '-DCMAKE_C_FLAGS=-O2 -pipe -g' -DZLIB_COMPAT=ON -DWITH_GTEST=OFF +-- Using CMake version 3.24.3 +-- ZLIB_HEADER_VERSION: 1.3.0 +-- ZLIBNG_HEADER_VERSION: 2.1.5 +-- The C compiler identification is GNU 13.1.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_venv/bin/riscv64-plct-linux-gnu-gcc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Arch detected: 'riscv64' +-- Basearch of 'riscv64' has been detected as: 'riscv' +-- Performing Test FNO_LTO_AVAILABLE +-- Performing Test FNO_LTO_AVAILABLE - Success +-- Looking for arm_acle.h +-- Looking for arm_acle.h - not found +-- Looking for sys/auxv.h +-- Looking for sys/auxv.h - found +-- Looking for sys/sdt.h +-- Looking for sys/sdt.h - not found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for stdint.h +-- Looking for stdint.h - found +-- Looking for stddef.h +-- Looking for stddef.h - found +-- Check size of off64_t +-- Check size of off64_t - done +-- Looking for fseeko +-- Looking for fseeko - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for posix_memalign +-- Looking for posix_memalign - found +-- Looking for aligned_alloc +-- Looking for aligned_alloc - found +-- Performing Test HAVE_NO_INTERPOSITION +-- Performing Test HAVE_NO_INTERPOSITION - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_HIDDEN - Success +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL +-- Performing Test HAVE_ATTRIBUTE_VISIBILITY_INTERNAL - Success +-- Performing Test HAVE_ATTRIBUTE_ALIGNED +-- Performing Test HAVE_ATTRIBUTE_ALIGNED - Success +-- Performing Test HAVE_THREAD_LOCAL +-- Performing Test HAVE_THREAD_LOCAL - Success +-- Performing Test HAVE_BUILTIN_CTZ +-- Performing Test HAVE_BUILTIN_CTZ - Success +-- Performing Test HAVE_BUILTIN_CTZLL +-- Performing Test HAVE_BUILTIN_CTZLL - Success +-- Performing Test HAVE_PTRDIFF_T +-- Performing Test HAVE_PTRDIFF_T - Success +-- Performing Test HAVE_RVV_INTRIN +-- Performing Test HAVE_RVV_INTRIN - Success +-- Architecture-specific source files: arch/riscv/riscv_features.c;arch/riscv/riscv_features.c;arch/riscv/adler32_rvv.c;arch/riscv/chunkset_rvv.c;arch/riscv/compare256_rvv.c;arch/riscv/slide_hash_rvv.c +-- The following features have been enabled: + + * CMAKE_BUILD_TYPE, Build type: Release (default) + * WITH_GZFILEOP, Compile with support for gzFile related functions + * ZLIB_COMPAT, Compile with zlib compatible API + * ZLIB_ENABLE_TESTS, Build test binaries + * ZLIBNG_ENABLE_TESTS, Test zlib-ng specific API + * WITH_SANITIZER, Enable sanitizer support + * WITH_OPTIM, Build with optimisation + * WITH_NEW_STRATEGIES, Use new strategies + * WITH_RVV, Build with RVV intrinsics + +-- The following features have been disabled: + + * ZLIB_SYMBOL_PREFIX, Publicly exported symbols DO NOT have a custom prefix + * WITH_GTEST, Build gtest_zlib + * WITH_FUZZERS, Build test/fuzz + * WITH_BENCHMARKS, Build test/benchmarks + * WITH_BENCHMARK_APPS, Build application benchmarks + * WITH_NATIVE_INSTRUCTIONS, Instruct the compiler to use the full instruction set on this host (gcc/clang -march=native) + * WITH_MAINTAINER_WARNINGS, Build with project maintainer warnings + * WITH_CODE_COVERAGE, Enable code coverage reporting + * WITH_INFLATE_STRICT, Build with strict inflate distance checking + * WITH_INFLATE_ALLOW_INVALID_DIST, Build with zero fill for inflate invalid distances + * INSTALL_UTILS, Copy minigzip and minideflate during install + +CMake Warning at CMakeLists.txt:1287 (message): + Building to source folder is not recommended. Cpack will be unable to + generate source package. + + +-- Configuring done +-- Generating done +-- Build files have been written to: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5 ++ ninja +[1/93] Building C object CMakeFiles/zlib.dir/adler32_fold.c.o +[2/93] Building C object CMakeFiles/zlib.dir/compress.c.o +[3/93] Building C object CMakeFiles/zlib.dir/adler32.c.o +[4/93] Building C object CMakeFiles/zlib.dir/cpu_features.c.o +[5/93] Building C object CMakeFiles/zlib.dir/chunkset.c.o +[6/93] Building C object CMakeFiles/zlib.dir/crc32_braid.c.o +[7/93] Building C object CMakeFiles/zlib.dir/compare256.c.o +[8/93] Building C object CMakeFiles/zlib.dir/crc32_braid_comb.c.o +[9/93] Building C object CMakeFiles/zlib.dir/crc32_fold.c.o +[10/93] Building C object CMakeFiles/zlib.dir/deflate_fast.c.o +[11/93] Building C object CMakeFiles/zlib.dir/deflate_huff.c.o +[12/93] Building C object CMakeFiles/zlib.dir/deflate_medium.c.o +[13/93] Building C object CMakeFiles/zlib.dir/deflate_slow.c.o +[14/93] Building C object CMakeFiles/zlib.dir/deflate_quick.c.o +[15/93] Building C object CMakeFiles/zlib.dir/deflate_rle.c.o +[16/93] Building C object CMakeFiles/zlib.dir/deflate.c.o +[17/93] Building C object CMakeFiles/zlib.dir/functable.c.o +[18/93] Building C object CMakeFiles/zlib.dir/deflate_stored.c.o +[19/93] Building C object CMakeFiles/zlib.dir/insert_string.c.o +[20/93] Building C object CMakeFiles/zlib.dir/infback.c.o +[21/93] Building C object CMakeFiles/zlib.dir/inftrees.c.o +[22/93] Building C object CMakeFiles/zlib.dir/slide_hash.c.o +[23/93] Building C object CMakeFiles/zlib.dir/insert_string_roll.c.o +[24/93] Building C object CMakeFiles/zlib.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[25/93] Building C object CMakeFiles/zlib.dir/zutil.c.o +[26/93] Building C object CMakeFiles/zlib.dir/uncompr.c.o +[27/93] Building C object CMakeFiles/zlib.dir/trees.c.o +[28/93] Building C object CMakeFiles/zlib.dir/inflate.c.o +[29/93] Building C object CMakeFiles/zlib.dir/arch/riscv/adler32_rvv.c.o +[30/93] Building C object CMakeFiles/zlib.dir/gzlib.c.o +[31/93] Building C object CMakeFiles/zlib.dir/gzwrite.c.o +[32/93] Building C object CMakeFiles/zlib.dir/gzread.c.o +[33/93] Building C object CMakeFiles/zlib.dir/arch/riscv/slide_hash_rvv.c.o +[34/93] Building C object CMakeFiles/zlib.dir/arch/riscv/compare256_rvv.c.o +[35/93] Building C object CMakeFiles/zlib.dir/arch/riscv/chunkset_rvv.c.o +[36/93] Building C object CMakeFiles/zlibstatic.dir/compress.c.o +[37/93] Building C object CMakeFiles/zlibstatic.dir/adler32.c.o +[38/93] Building C object CMakeFiles/zlibstatic.dir/adler32_fold.c.o +[39/93] Building C object CMakeFiles/zlibstatic.dir/compare256.c.o +[40/93] Building C object CMakeFiles/zlibstatic.dir/chunkset.c.o +[41/93] Linking C shared library libz.so.1.3.0.zlib-ng +[42/93] Creating library symlink libz.so.1 libz.so +[43/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid.c.o +[44/93] Building C object CMakeFiles/zlibstatic.dir/cpu_features.c.o +[45/93] Building C object CMakeFiles/zlibstatic.dir/crc32_braid_comb.c.o +[46/93] Building C object CMakeFiles/zlibstatic.dir/crc32_fold.c.o +[47/93] Building C object CMakeFiles/zlibstatic.dir/deflate_huff.c.o +[48/93] Building C object CMakeFiles/zlibstatic.dir/deflate_fast.c.o +[49/93] Building C object CMakeFiles/zlibstatic.dir/deflate_medium.c.o +[50/93] Building C object CMakeFiles/zlibstatic.dir/deflate_rle.c.o +[51/93] Building C object CMakeFiles/zlibstatic.dir/deflate.c.o +[52/93] Building C object CMakeFiles/zlibstatic.dir/deflate_quick.c.o +[53/93] Building C object CMakeFiles/zlibstatic.dir/deflate_stored.c.o +[54/93] Building C object CMakeFiles/zlibstatic.dir/deflate_slow.c.o +[55/93] Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o +[56/93] Building C object CMakeFiles/zlibstatic.dir/functable.c.o +[57/93] Building C object CMakeFiles/zlibstatic.dir/insert_string_roll.c.o +[58/93] Building C object CMakeFiles/zlibstatic.dir/insert_string.c.o +[59/93] Building C object CMakeFiles/zlibstatic.dir/infback.c.o +[60/93] Building C object CMakeFiles/zlibstatic.dir/slide_hash.c.o +[61/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/riscv_features.c.o +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c: In function 'is_kernel_version_greater_or_equal_to_6_5': +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/arch/riscv/riscv_features.c:22:33: warning: suggest parentheses around '&&' within '||' [-Wparentheses] + 22 | if (major > 6 || major == 6 && minor >= 5) + | ~~~~~~~~~~~^~~~~~~~~~~~~ +[62/93] Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o +[63/93] Building C object CMakeFiles/zlibstatic.dir/zutil.c.o +[64/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/adler32_rvv.c.o +[65/93] Building C object CMakeFiles/zlibstatic.dir/inflate.c.o +[66/93] Building C object CMakeFiles/zlibstatic.dir/trees.c.o +[67/93] Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o +[68/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/compare256_rvv.c.o +[69/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/slide_hash_rvv.c.o +[70/93] Building C object CMakeFiles/zlibstatic.dir/arch/riscv/chunkset_rvv.c.o +[71/93] Building C object CMakeFiles/zlibstatic.dir/gzread.c.o +[72/93] Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o +[73/93] Building C object test/CMakeFiles/minideflate.dir/minideflate.c.o +[74/93] Building C object test/CMakeFiles/minigzip.dir/minigzip.c.o +[75/93] Building C object test/CMakeFiles/example.dir/example.c.o +[76/93] Building C object test/CMakeFiles/switchlevels.dir/switchlevels.c.o +[77/93] Linking C executable minideflate +[78/93] Building C object test/CMakeFiles/infcover.dir/infcover.c.o +[79/93] Building C object test/CMakeFiles/infcover.dir/__/inftrees.c.o +[80/93] Linking C executable example +[81/93] Linking C executable switchlevels +[82/93] Building C object test/CMakeFiles/makefixed.dir/__/inftrees.c.o +[83/93] Linking C executable infcover +[84/93] Building C object test/CMakeFiles/maketrees.dir/__/zutil.c.o +[85/93] Building C object test/CMakeFiles/maketrees.dir/__/trees.c.o +[86/93] Building C object test/CMakeFiles/makefixed.dir/__/tools/makefixed.c.o +[87/93] Building C object test/CMakeFiles/maketrees.dir/__/tools/maketrees.c.o +[88/93] Linking C static library libz.a +[89/93] Building C object test/CMakeFiles/makecrct.dir/__/tools/makecrct.c.o +[90/93] Linking C executable makefixed +[91/93] Linking C executable maketrees +[92/93] Linking C executable makecrct +[93/93] Linking C executable minigzip ++ ninja install +[0/1] Install the project... +-- Install configuration: "Release" +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1.3.0.zlib-ng +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so.1 +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.so +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/libz.a +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zlib_name_mangling.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include/zconf.h +-- Installing: /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/lib64/pkgconfig/zlib.pc +++ pwd ++ ls /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/build/zlib-ng-2.1.5/zlib_my_install/include +zconf.h +zlib.h +zlib_name_mangling.h ++ CHECK_RESULT 0 0 0 'Check ruyi zlib-ng build failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi zlib-ng build failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ cd .. ++ rm -rf build ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:08:06 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:08:06 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:08:06 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp0zfsh93e ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0zfsh93e ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 03:08:44 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 03:08:44 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp0zfsh93e ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0zfsh93e ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 03:08:46 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0zfsh93e +Wed Apr 10 03:08:46 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:08:46 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-02_52_10.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-02_52_10.log new file mode 100644 index 00000000..7a98a2b7 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_common/2024-04-10-02_52_10.log @@ -0,0 +1,922 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:52:10 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp6w8uljg2 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp6w8uljg2 ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6w8uljg2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp6w8uljg2 +Wed Apr 10 02:52:29 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp6w8uljg2 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6w8uljg2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp6w8uljg2 +Wed Apr 10 02:52:29 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp6w8uljg2 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 23.7M 1 442k 0 0 1319k 0 0:00:18 --:--:-- 0:00:18 1322k 20 23.7M 20 4874k 0 0 3649k 0 0:00:06 0:00:01 0:00:05 3651k 35 23.7M 35 8666k 0 0 3711k 0 0:00:06 0:00:02 0:00:04 3711k 52 23.7M 52 12.4M 0 0 3825k 0 0:00:06 0:00:03 0:00:03 3825k 69 23.7M 69 16.4M 0 0 3887k 0 0:00:06 0:00:04 0:00:02 3887k 84 23.7M 84 19.9M 0 0 3831k 0 0:00:06 0:00:05 0:00:01 4000k 95 23.7M 95 22.7M 0 0 3675k 0 0:00:06 0:00:06 --:--:-- 3683k 100 23.7M 100 23.7M 0 0 3616k 0 0:00:06 0:00:06 --:--:-- 3565k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:52:36 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:52:36 2024 - INFO - Start to run test. ++ ruyi --version ++ grep 0.8.1 +Ruyi 0.8.1 ++ local rv=0 ++ CHECK_RESULT 0 0 0 'Check ruyi version failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi version failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ [[ 0x != \0\x ]] ++ ruyi ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi empty cmdline help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty cmdline help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi -h ++ grep usage +usage: ruyi [-h] [-V] ++ CHECK_RESULT 0 0 0 'Check ruyi help failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi help failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: +2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: +5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: +9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: +13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting +objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting +objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting +objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting +objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting +objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting +objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting +objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% +(340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% +(369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% +(399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% +(429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: +62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: +66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting +objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% +(569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting +objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting +objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting +objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting +objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing +objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% +(88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: +32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ '[' -d /home/jenkins/.cache//ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list profiles +generic +baremetal-rv64ilp32 (needs flavor(s): {'rv64ilp32'}) +xiangshan-nanhu +sipeed-lpi4a (needs flavor(s): {'xthead'}) +milkv-duo ++ CHECK_RESULT 0 0 0 'Check ruyi profile failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi profile failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct +gnu-upstream +llvm-upstream +gnu-plct-rv64ilp32-elf +gnu-plct-xthead' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ++ '[' '!' -z ' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ']' ++ pkgname=gnu-plct ++ break ++ '[' -z gnu-plct ']' ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct- +linux-gnu.tar.xz': all source URLs have failed + +Downloads can fail for a multitude of reasons, most of which should not and +cannot be handled by Ruyi. For your convenience though, please check if any +of the following common failure modes apply to you, and take actions +accordingly if one of them turns out to be the case: + +* Basic connectivity problems + - is the gateway reachable? + - is common websites reachable? + - is there any DNS pollution? +* Organizational and/or ISP restrictions + - is there a firewall preventing Ruyi traffic? + - is your ISP blocking access to the source website? +* Volatile upstream + - is the recorded link dead? (Please raise a Ruyi issue for a fix!) + ++ CHECK_RESULT 1 0 1 'Check ruyi install package from wrong proxy failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi install package from wrong proxy failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ http_proxy=http://wrong.proxy ++ https_proxy=http://wrong.proxy ++ ruyi install gnu-plct ++ grep 'Basic connectivity problems' +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (2 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +info: retrying download (3 of 3 times) + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (5) Could not resolve proxy: wrong.proxy +warn: failed to fetch distfile: command 'curl -L --connect-timeout 60 --ftp-pasv +-o +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz' returned 5 +fatal error: failed to fetch +'/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct- +linux-gnu.tar.xz': all source URLs have failed +* Basic connectivity problems ++ CHECK_RESULT 0 0 0 'Check ruyi install failure message failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install failure message failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct ++ grep downloading +info: downloading ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ grep 'skipping already installed package' ++ ruyi install gnu-plct +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install name:gnu-plct ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package by name failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package by name failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* source' +++ head -n 1 +++ cut -d/ -f 2 ++ pkgname=ruyisdk-demo ++ mkdir source-test ++ cd source-test ++ ruyi extract ruyisdk-demo +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe +1b17125758b5e.src.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17 +125758b5e.src.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 671 100 671 0 0 4374 0 --:--:-- --:--:-- --:--:-- 4414 +info: extracting +ruyisdk-demo-f3d5f81e9c1ccda7ee3e4390dbe1b17125758b5e.src.tar.zst for package +ruyisdk-demo-0.20231114.0 +info: package ruyisdk-demo-0.20231114.0 extracted to current working directory ++ CHECK_RESULT 0 0 0 'Check ruyi extract failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ls ++ '[' 'README.md +rvv-autovec' '!=' '' ']' ++ CHECK_RESULT 0 0 0 'Check ruyi extract dir not enpty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi extract dir not enpty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cd .. ++ rm -rf source-test ++ ruyi self uninstall -y +info: uninstallation consent given over CLI, proceeding +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self uninstall failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self uninstall failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 93: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi uninstall exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi uninstall exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi cache dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi cache dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi data dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi data dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi state dir exists failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi state dir exists failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6w8uljg2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp6w8uljg2 +Wed Apr 10 02:55:52 2024 - INFO - pkgs:(curl git tar bzip2 xz zstd unzip) is already installed ++ tmpfile2= ++ '[' -z /tmp/tmp6w8uljg2 ']' ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6w8uljg2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp6w8uljg2 +Wed Apr 10 02:55:52 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp6w8uljg2 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6w8uljg2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp6w8uljg2 +Wed Apr 10 02:55:52 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp6w8uljg2 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 25 23.7M 25 6264k 0 0 7010k 0 0:00:03 --:--:-- 0:00:03 7014k 68 23.7M 68 16.1M 0 0 8731k 0 0:00:02 0:00:01 0:00:01 8730k 95 23.7M 95 22.7M 0 0 8047k 0 0:00:03 0:00:02 0:00:01 8049k 100 23.7M 100 23.7M 0 0 7966k 0 0:00:03 0:00:03 --:--:-- 7970k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi +ln: failed to create symbolic link '/usr/bin/ruyi': File exists ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi version +ruyi_test_common.sh: line 105: /usr/bin/ruyi: No such file or directory ++ CHECK_RESULT 127 0 1 'Check ruyi purge exists failed' ++ actual_result=127 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge exists failed' ++ exit_mode=0 ++ '[' -z 127 ']' ++ '[' 1 -eq 0 ']' ++ test 127x == 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:55:57 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:55:57 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:55:57 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp6w8uljg2 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6w8uljg2 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6w8uljg2 +Wed Apr 10 02:56:58 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6w8uljg2 +Wed Apr 10 02:56:58 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:56:58 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-02_20_40.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-02_20_40.log new file mode 100644 index 00000000..47a140f9 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_config/2024-04-10-02_20_40.log @@ -0,0 +1,245 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:20:40 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpd_p91l8o ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpd_p91l8o ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpd_p91l8o ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpd_p91l8o +Wed Apr 10 02:21:13 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpd_p91l8o ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpd_p91l8o ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpd_p91l8o +Wed Apr 10 02:21:14 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpd_p91l8o ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 12 23.7M 12 2972k 0 0 3868k 0 0:00:06 --:--:-- 0:00:06 3870k 34 23.7M 34 8342k 0 0 4726k 0 0:00:05 0:00:01 0:00:04 4726k 53 23.7M 53 12.7M 0 0 4726k 0 0:00:05 0:00:02 0:00:03 4727k 70 23.7M 70 16.6M 0 0 4529k 0 0:00:05 0:00:03 0:00:02 4530k 100 23.7M 100 23.7M 0 0 3179k 0 0:00:07 0:00:07 --:--:-- 3180k 100 23.7M 100 23.7M 0 0 3179k 0 0:00:07 0:00:07 --:--:-- 3102k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:21:22 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:21:22 2024 - INFO - Start to run test. +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ cfg_d=/home/jenkins/.config/ruyi ++ cfg_f=/home/jenkins/.config/ruyi/config.toml +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ cc_dir=/home/jenkins/.cache//ruyi/packages-index ++ cc_td=/tmp/ruyi_config_test ++ '[' '!' -d /home/jenkins/.config/ruyi ']' ++ mkdir -p /home/jenkins/.config/ruyi ++ '[' -d /tmp/ruyi_config_test ']' ++ cat ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% +(103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /tmp/ruyi_config_test ']' ++ CHECK_RESULT 0 0 0 'Check ruyi local failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi local failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache//ruyi/packages-index ']' ++ CHECK_RESULT 1 0 1 'Check ruyi orig local failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi orig local failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /tmp/ruyi_config_test ++ wr=wrong_magic ++ cat ++ ruyi update ++ grep wrong_magic +_pygit2.GitError: failed to resolve address for wrong_magic: Name or service not known ++ CHECK_RESULT 0 0 0 'Check ruyi remote failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi remote failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ ruyi update ++ grep wrong_magic +KeyError: "reference 'refs/remotes/origin/wrong_magic' not found" ++ CHECK_RESULT 0 0 0 'Check ruyi branch failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi branch failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:21:38 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:21:38 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:21:38 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpd_p91l8o ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpd_p91l8o ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpd_p91l8o +Wed Apr 10 02:22:15 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpd_p91l8o +Wed Apr 10 02:22:19 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:22:19 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-02_10_13.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-02_10_13.log new file mode 100644 index 00000000..4141b0db --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-02_10_13.log @@ -0,0 +1,2747 @@ ++ source ./common/device_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ source ../common/common_lib.sh ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh +++++ python3 --version +++++ '[' 0 -eq 0 ']' +++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh +++ result_item=() ++ source ../common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ EXECUTE_T=120m ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:10:13 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpvla8bxmu ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpvla8bxmu ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpvla8bxmu ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpvla8bxmu +Wed Apr 10 02:10:30 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpvla8bxmu ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpvla8bxmu ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpvla8bxmu +Wed Apr 10 02:10:31 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpvla8bxmu ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 23.7M 3 733k 0 0 900k 0 0:00:26 --:--:-- 0:00:26 901k 10 23.7M 10 2445k 0 0 1353k 0 0:00:17 0:00:01 0:00:16 1354k 20 23.7M 20 4973k 0 0 1771k 0 0:00:13 0:00:02 0:00:11 1771k 30 23.7M 30 7453k 0 0 1957k 0 0:00:12 0:00:03 0:00:09 1957k 43 23.7M 43 10.4M 0 0 2223k 0 0:00:10 0:00:04 0:00:06 2223k 60 23.7M 60 14.3M 0 0 2523k 0 0:00:09 0:00:05 0:00:04 2788k 79 23.7M 79 18.7M 0 0 2825k 0 0:00:08 0:00:06 0:00:02 3356k 97 23.7M 97 23.2M 0 0 3043k 0 0:00:07 0:00:07 --:--:-- 3756k 100 23.7M 100 23.7M 0 0 3067k 0 0:00:07 0:00:07 --:--:-- 4094k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi_test_device/ruyi /usr/bin/ruyi ++ mkdir /tmp/ruyi_device ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:10:39 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:10:39 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing +objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ recursion_run '' ++ local now_exec= ++ local end_exec= ++ [[ 0 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Continue /tmp/ruyi_device/output +Continue? (y/N) ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Continue ++ local output +++ grep Continue /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' y = n ']' ++ recursion_run y ++ local now_exec=y ++ local end_exec= ++ [[ 1 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e y ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-14)' ++ [[ (1-14) == \(\y\/\N\) ]] ++ [[ (1-14) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 4 ++ next_step=('1' '2' '3' '4') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1' ++ local 'now_exec=y\n1' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1' ++ local 'now_exec=y\n1\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n1\n1\n1' ++ local 'now_exec=y\n1\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n1\ny' y ++ local 'now_exec=y\n1\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 1740 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 1715k 6243k 10.3M 15.1M 20.4M 26.0M 30.8M 34.8M 38.5M 41.6M 43.7M 44.3M 44.6M 45.1M 45.6M 46.1M 47.2M 48.9M 51.2M 54.2M 57.8M 61.2M 64.7M 68.7M 73.3M 78.5M 83.8M 89.8M 96.2M 103M 109M 115M 122M 129M 137M 144M 151M 157M 162M 167M 170M 173M 175M 178M 181M 184M 187M 190M 193M 197M 202M 207M 212M 218M 223M 228M 234M 240M 247M ' +++ echo Received Spent 0 1715k 6243k 10.3M 15.1M 20.4M 26.0M 30.8M 34.8M 38.5M 41.6M 43.7M 44.3M 44.6M 45.1M 45.6M 46.1M 47.2M 48.9M 51.2M 54.2M 57.8M 61.2M 64.7M 68.7M 73.3M 78.5M 83.8M 89.8M 96.2M 103M 109M 115M 122M 129M 137M 144M 151M 157M 162M 167M 170M 173M 175M 178M 181M 184M 187M 190M 193M 197M 202M 207M 212M 218M 223M 228M 234M 240M 247M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 1715k =~ [0-9]+ ]] ++ [[ 1715k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y111y +++ echo -E y111y +++ sed 's$/$_$g' ++ now_exec_f=y111y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-base-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n1\nn' 2 ++ local 'now_exec=y\n1\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y111n +++ echo -E y111n +++ sed 's$/$_$g' ++ now_exec_f=y111n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y111n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n1\n1\n2' ++ local 'now_exec=y\n1\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n1\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n1\n1\n2\ny' y ++ local 'now_exec=y\n1\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n1\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 1738 Done nohup echo -e "$now_exec" + 1739 Exit 120 | ruyi device provision 2>&1 + 1740 Killed | tee > /tmp/ruyi_device/output ++ kill -9 1846 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 1200k 3888k 7248k 10.8M 14.3M 18.4M 22.9M 27.5M 32.0M 37.1M 42.7M 49.1M 55.2M 61.0M 67.3M 72.3M 76.6M 80.4M 82.0M 83.0M 83.9M 84.5M 85.0M 85.7M 86.3M 86.8M 87.9M 90.0M 93.0M 96.9M 101M 105M 109M 114M 119M 125M 127M 131M 135M 140M 146M 152M 159M 166M 175M 186M 196M 206M 217M 228M 239M 250M 261M 272M 283M 294M 304M ' +++ echo Received Spent 0 1200k 3888k 7248k 10.8M 14.3M 18.4M 22.9M 27.5M 32.0M 37.1M 42.7M 49.1M 55.2M 61.0M 67.3M 72.3M 76.6M 80.4M 82.0M 83.0M 83.9M 84.5M 85.0M 85.7M 86.3M 86.8M 87.9M 90.0M 93.0M 96.9M 101M 105M 109M 114M 119M 125M 127M 131M 135M 140M 146M 152M 159M 166M 175M 186M 196M 206M 217M 228M 239M 250M 261M 272M 283M 294M 304M ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 1200k =~ [0-9]+ ]] ++ [[ 1200k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y112y +++ echo -E y112y +++ sed 's$/$_$g' ++ now_exec_f=y112y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/openEuler-23.03-V1-xfce-d1-preview.img.zst +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n1\n1\n2\nn' 2 ++ local 'now_exec=y\n1\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n1\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n1\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y112n +++ echo -E y112n +++ sed 's$/$_$g' ++ now_exec_f=y112n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y112n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2' ++ local 'now_exec=y\n2' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1' ++ local 'now_exec=y\n2\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n2\n1\n1' ++ local 'now_exec=y\n2\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n1\ny' y ++ local 'now_exec=y\n2\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ wait_time=1m ++ tee ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 1979 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 4639k 14.5M 25.0M 35.6M 46.1M 56.9M 67.0M 76.8M 86.8M 97.1M 105M 115M 125M 136M 147M 157M 168M 178M 189M 200M 207M 209M for ' +++ echo Received Spent 0 0 4639k 14.5M 25.0M 35.6M 46.1M 56.9M 67.0M 76.8M 86.8M 97.1M 105M 115M 125M 136M 147M 157M 168M 178M 189M 200M 207M 209M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 4639k =~ [0-9]+ ]] ++ [[ 4639k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y211y +++ echo -E y211y +++ sed 's$/$_$g' ++ now_exec_f=y211y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_debian_sdcard_sdk_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n1\nn' 2 ++ local 'now_exec=y\n2\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y211n +++ echo -E y211n +++ sed 's$/$_$g' ++ now_exec_f=y211n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y211n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n2\n1\n2' ++ local 'now_exec=y\n2\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n2\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n2\n1\n2\ny' y ++ local 'now_exec=y\n2\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n2\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 1977 Done nohup echo -e "$now_exec" + 1978 Exit 120 | ruyi device provision 2>&1 + 1979 Killed | tee > /tmp/ruyi_device/output ++ kill -9 2071 ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 1743k 10.4M 17.4M 26.2M 33.6M 43.6M 54.0M 64.4M 71.6M 80.8M 88.9M 98.9M 108M 116M 129M 136M 147M 157M 167M 178M 188M 194M for ' +++ echo Received Spent 0 0 1743k 10.4M 17.4M 26.2M 33.6M 43.6M 54.0M 64.4M 71.6M 80.8M 88.9M 98.9M 108M 116M 129M 136M 147M 157M 167M 178M 188M 194M for ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 1743k =~ [0-9]+ ]] ++ [[ 1743k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y212y +++ echo -E y212y +++ sed 's$/$_$g' ++ now_exec_f=y212y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/canmv_ubuntu_sdcard_1.3.img.gz +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/canmv-debian-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n2\n1\n2\nn' 2 ++ local 'now_exec=y\n2\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n2\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n2\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y212n +++ echo -E y212n +++ sed 's$/$_$g' ++ now_exec_f=y212n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y212n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 3 = n ']' ++ recursion_run 'y\n3' ++ local 'now_exec=y\n3' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1' ++ local 'now_exec=y\n3\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' +./common/device_lib.sh: line 37: 2069 Done nohup echo -e "$now_exec" + 2070 Exit 120 | ruyi device provision 2>&1 + 2071 Killed | tee > /tmp/ruyi_device/output ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ tail -1 +++ awk '{print $2}' ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n1\n1' ++ local 'now_exec=y\n3\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n1\ny' y ++ local 'now_exec=y\n3\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n1\ny' ++ SLEEP_WAIT 1m ++ ruyi device provision ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 2212 +./common/device_lib.sh: line 49: kill: (2212) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 0 126k 3518k 7214k 11.2M 15.2M 17.9M 19.6M 21.2M 25.6M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 0 126k 3518k 7214k 11.2M 15.2M 17.9M 19.6M 21.2M 25.6M 30.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 126k =~ [0-9]+ ]] ++ [[ 126k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ sed 's/\\n//g' +++ echo -E 'y\n3\n1\n1\ny' ++ now_exec_f=y311y +++ echo -E y311y +++ sed 's$/$_$g' ++ now_exec_f=y311y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-1.0.7 /home/jenkins/.local/share/ruyi/blobs/canmv-ubuntu-sdk-canaan-k230-1.3.0 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n1\nn' 2 ++ local 'now_exec=y\n3\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y311n +++ echo -E y311n +++ sed 's$/$_$g' ++ now_exec_f=y311n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y311n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n1\n2' ++ local 'now_exec=y\n3\n1\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n1\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n1\n2\ny' y ++ local 'now_exec=y\n3\n1\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n1\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 +/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh: line 196: 1844 Done nohup echo -e "$now_exec" + 1845 Exit 120 | ruyi device provision 2>&1 + 1846 Killed | tee > /tmp/ruyi_device/output ++ kill -9 2317 +./common/device_lib.sh: line 49: kill: (2317) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 111k 2799k 6720k 10.3M 13.3M 14.0M 15.4M 17.8M 19.6M 22.2M 25.2M 28.4M 28.9M 31.7M 33.4M 35.1M 36.8M 38.5M 40.2M 41.7M 43.3M 45.0M 46.4M 47.1M 51.2M 55.1M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 111k 2799k 6720k 10.3M 13.3M 14.0M 15.4M 17.8M 19.6M 22.2M 25.2M 28.4M 28.9M 31.7M 33.4M 35.1M 36.8M 38.5M 40.2M 41.7M 43.3M 45.0M 46.4M 47.1M 51.2M 55.1M 59.1M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 111k =~ [0-9]+ ]] ++ [[ 111k != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y312y +++ echo -E y312y +++ sed 's$/$_$g' ++ now_exec_f=y312y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n1\n2\nn' 2 ++ local 'now_exec=y\n3\n1\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n1\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n1\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y312n +++ echo -E y312n +++ sed 's$/$_$g' ++ now_exec_f=y312n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y312n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2' ++ local 'now_exec=y\n3\n2' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-2) +Choice? (1-2) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-2)' ++ [[ (1-2) == \(\y\/\N\) ]] ++ [[ (1-2) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 2 ++ next_step=('1' '2') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n3\n2\n1' ++ local 'now_exec=y\n3\n2\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n1\ny' y ++ local 'now_exec=y\n3\n2\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 2434 +./common/device_lib.sh: line 49: kill: (2434) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 6881 30298 447k 3007k 7343k 10.3M 15.0M 16.4M 17.9M 19.3M 20.7M 22.4M 23.9M 25.2M 26.5M 28.0M 29.4M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 6881 30298 447k 3007k 7343k 10.3M 15.0M 16.4M 17.9M 19.3M 20.7M 22.4M 23.9M 25.2M 26.5M 28.0M 29.4M 30.4M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 6881 =~ [0-9]+ ]] ++ [[ 6881 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y321y +++ echo -E y321y +++ sed 's$/$_$g' ++ now_exec_f=y321y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n1\nn' 2 ++ local 'now_exec=y\n3\n2\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y321n +++ echo -E y321n +++ sed 's$/$_$g' ++ now_exec_f=y321n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y321n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 2 = n ']' ++ recursion_run 'y\n3\n2\n2' ++ local 'now_exec=y\n3\n2\n2' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n3\n2\n2' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n3\n2\n2\ny' y ++ local 'now_exec=y\n3\n2\n2\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n3\n2\n2\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 2532 +./common/device_lib.sh: line 49: kill: (2532) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 16375 521k 5486k 7505k 8983k 10.2M 11.7M 13.0M 14.3M 15.7M 17.4M 18.5M 20.5M 22.3M 24.1M 25.7M 27.3M 29.0M 30.5M 30.7M 33.7M 37.0M 39.6M 43.2M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 16375 521k 5486k 7505k 8983k 10.2M 11.7M 13.0M 14.3M 15.7M 17.4M 18.5M 20.5M 22.3M 24.1M 25.7M 27.3M 29.0M 30.5M 30.7M 33.7M 37.0M 39.6M 43.2M 47.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 16375 =~ [0-9]+ ]] ++ [[ 16375 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\ny' +++ sed 's/\\n//g' ++ now_exec_f=y322y +++ echo -E y322y +++ sed 's$/$_$g' ++ now_exec_f=y322y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duo256m-python-v1.0.7-2023-1223.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duo256m-python-1.0.7 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n3\n2\n2\nn' 2 ++ local 'now_exec=y\n3\n2\n2\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n3\n2\n2\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n3\n2\n2\nn' +++ sed 's/\\n//g' ++ now_exec_f=y322n +++ echo -E y322n +++ sed 's$/$_$g' ++ now_exec_f=y322n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y322n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 4 = n ']' ++ recursion_run 'y\n4' ++ local 'now_exec=y\n4' ++ local end_exec= ++ [[ 4 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1' ++ local 'now_exec=y\n4\n1' ++ local end_exec= ++ [[ 7 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Choice /tmp/ruyi_device/output +Choice? (1-14) +Choice? (1-1) +Choice? (1-1) Traceback (most recent call last): ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Choice ++ local output +++ grep Choice /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(1-1)' ++ [[ (1-1) == \(\y\/\N\) ]] ++ [[ (1-1) =~ (1-.) ]] ++ result_item=($(seq ${output:0-2:1})) +++ seq 1 ++ next_step=('1') ++ local next_step ++ for step in ${next_step[@]} ++ end_exec= ++ '[' 1 = n ']' ++ recursion_run 'y\n4\n1\n1' ++ local 'now_exec=y\n4\n1\n1' ++ local end_exec= ++ [[ 10 -gt 100 ]] ++ [[ '' == \y ]] ++ '[' '!' -z '' ']' ++ echo -e 'y\n4\n1\n1' ++ ruyi device provision ++ grep --line-buffered -Ev '^$|#' ++ grep 'Happy hacking!' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ local ret ++ ret=0 ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Proceed with flashing' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep 'Please give the path for the target'\''s whole disk' /tmp/ruyi_device/output ++ [[ 1 -eq 0 ]] ++ grep Proceed /tmp/ruyi_device/output +Proceed? (y/N) warn: EOF while reading user input, assuming the default choice NO ++ [[ 0 -eq 0 ]] ++ test_ouput /tmp/ruyi_device/output Proceed ++ local output +++ grep Proceed /tmp/ruyi_device/output +++ awk '{print $2}' +++ tail -1 ++ output='(y/N)' ++ [[ (y/N) == \(\y\/\N\) ]] ++ result_item=('y' 'n') ++ next_step=('y' 'n') ++ local next_step ++ for step in ${next_step[@]} ++ '[' y = n ']' ++ '[' y = y ']' ++ recursion_run 'y\n4\n1\n1\ny' y ++ local 'now_exec=y\n4\n1\n1\ny' ++ local end_exec=y ++ [[ 13 -gt 100 ]] ++ [[ y == \y ]] ++ nohup echo -e 'y\n4\n1\n1\ny' ++ ruyi device provision ++ SLEEP_WAIT 1m ++ tee ++ wait_time=1m ++ cmd= ++ mode=1 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/sleep_wait.py --time 1m --cmd '' --mode 1 ++ kill -9 2665 +./common/device_lib.sh: line 49: kill: (2665) - No such process ++ sed 's/\x0D/\n/g' /tmp/ruyi_device/output ++ local happy ++ happy=n ++ grep -A 100 'Saving to' /tmp/ruyi_device/output_e ++ grep '\[=' ++ '[' n = n ']' +++ grep -A 100 Total /tmp/ruyi_device/output_e +++ grep -A 100 Received +++ awk '{printf $4" "}' ++ curl_out='Received Spent 0 0 0 0 0 0 0 0 0 98286 1684k 4548k 8676k 13.9M 15.6M 17.2M 19.0M 20.8M 23.8M 28.9M 32.9M 35.4M 38.0M 41.5M 43.1M 44.3M 46.5M 48.0M 48.0M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ' +++ echo Received Spent 0 0 0 0 0 0 0 0 0 98286 1684k 4548k 8676k 13.9M 15.6M 17.2M 19.0M 20.8M 23.8M 28.9M 32.9M 35.4M 38.0M 41.5M 43.1M 44.3M 46.5M 48.0M 48.0M 51.2M for installed target SD live /dev/nvmeXnY may need path 71, reading the call 57, 300, 30, 110, 197, 73, reading ++ for i in $(echo $curl_out) ++ [[ Received =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ Spent =~ [0-9]+ ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 0 =~ [0-9]+ ]] ++ [[ 0 != \0 ]] ++ for i in $(echo $curl_out) ++ [[ 98286 =~ [0-9]+ ]] ++ [[ 98286 != \0 ]] ++ echo -e '\nHappy hacking! 0 0' ++ happy=y ++ break ++ grep 'failed to fetch distfile' /tmp/ruyi_device/output_e ++ '[' y = n ']' ++ rm -f /tmp/ruyi_device/output_e ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 0 0 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\ny' +++ sed 's/\\n//g' ++ now_exec_f=y411y +++ echo -E y411y +++ sed 's$/$_$g' ++ now_exec_f=y411y ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411y +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf /home/jenkins/.cache//ruyi/distfiles/milkv-duos-sd-v1.0.9-2024-0226.img.zip +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf /home/jenkins/.local/share/ruyi/blobs/buildroot-sdk-milkv-duos-sd-1.0.9 ++ return 0 ++ for step in ${next_step[@]} ++ '[' n = n ']' ++ recursion_run 'y\n4\n1\n1\nn' 2 ++ local 'now_exec=y\n4\n1\n1\nn' ++ local end_exec=2 ++ [[ 13 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e 'y\n4\n1\n1\nn' ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E 'y\n4\n1\n1\nn' +++ sed 's/\\n//g' ++ now_exec_f=y411n +++ echo -E y411n +++ sed 's$/$_$g' ++ now_exec_f=y411n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_y411n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 ++ '[' n = y ']' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ for step in ${next_step[@]} ++ end_exec= ++ '[' n = n ']' ++ end_exec=2 ++ recursion_run n 2 ++ local now_exec=n ++ local end_exec=2 ++ [[ 1 -gt 100 ]] ++ [[ 2 == \y ]] ++ '[' '!' -z 2 ']' ++ '[' 2 '!=' 0 ']' ++ local ret ++ echo -e n ++ ruyi device provision ++ ret=1 +++ expr 2 - 1 ++ echo -e '\nHappy hacking! 1 1' ++ grep 'Happy hacking!' /tmp/ruyi_device/output +Happy hacking! 1 1 ++ [[ 0 -eq 0 ]] ++ local now_exec_f +++ echo -E n +++ sed 's/\\n//g' ++ now_exec_f=n +++ echo -E n +++ sed 's$/$_$g' ++ now_exec_f=n ++ mv /tmp/ruyi_device/output /tmp/ruyi_device/output_n +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi ++ rm -rf '/home/jenkins/.cache//ruyi/distfiles/*' +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi ++ rm -rf '/home/jenkins/.local/share/ruyi/blobs/*' ++ return 0 +++ expr 0 + 0 ++ ret=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check recursion run failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check recursion run failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ls_output=($(ls /tmp/ruyi_device/output*)) +++ ls /tmp/ruyi_device/output_n /tmp/ruyi_device/output_y111n /tmp/ruyi_device/output_y111y /tmp/ruyi_device/output_y112n /tmp/ruyi_device/output_y112y /tmp/ruyi_device/output_y211n /tmp/ruyi_device/output_y211y /tmp/ruyi_device/output_y212n /tmp/ruyi_device/output_y212y /tmp/ruyi_device/output_y311n /tmp/ruyi_device/output_y311y /tmp/ruyi_device/output_y312n /tmp/ruyi_device/output_y312y /tmp/ruyi_device/output_y321n /tmp/ruyi_device/output_y321y /tmp/ruyi_device/output_y322n /tmp/ruyi_device/output_y322y /tmp/ruyi_device/output_y411n /tmp/ruyi_device/output_y411y ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_n ++ local file=/tmp/ruyi_device/output_n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111n ++ local file=/tmp/ruyi_device/output_y111n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y111y ++ local file=/tmp/ruyi_device/output_y111y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y111y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y111y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y111y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112n ++ local file=/tmp/ruyi_device/output_y112n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y112y ++ local file=/tmp/ruyi_device/output_y112y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y112y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y112y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y112y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211n ++ local file=/tmp/ruyi_device/output_y211n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y211y ++ local file=/tmp/ruyi_device/output_y211y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y211y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y211y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y211y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212n ++ local file=/tmp/ruyi_device/output_y212n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y212y ++ local file=/tmp/ruyi_device/output_y212y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y212y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y212y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y212y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311n ++ local file=/tmp/ruyi_device/output_y311n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y311y ++ local file=/tmp/ruyi_device/output_y311y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y311y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y311y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y311y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312n ++ local file=/tmp/ruyi_device/output_y312n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y312y ++ local file=/tmp/ruyi_device/output_y312y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y312y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y312y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y312y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321n ++ local file=/tmp/ruyi_device/output_y321n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y321y ++ local file=/tmp/ruyi_device/output_y321y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y321y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y321y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y321y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322n ++ local file=/tmp/ruyi_device/output_y322n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y322y ++ local file=/tmp/ruyi_device/output_y322y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y322y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y322y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y322y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411n ++ local file=/tmp/ruyi_device/output_y411n ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411n ++ ret='Happy hacking! 1 1' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $3}' ++ local ret_e=1 +++ echo Happy 'hacking!' 1 1 +++ awk '{print $4}' ++ local ret_g=1 ++ '[' 1 = 0 ']' ++ '[' 1 '!=' 0 ']' ++ '[' 1 '!=' 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411n failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411n failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ for file in ${ls_output[@]} ++ test_res /tmp/ruyi_device/output_y411y ++ local file=/tmp/ruyi_device/output_y411y ++ local res=0 ++ local ret=0 +++ grep 'Happy hacking!' /tmp/ruyi_device/output_y411y ++ ret='Happy hacking! 0 0' +++ expr 0 + 0 ++ res=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $3}' ++ local ret_e=0 +++ echo Happy 'hacking!' 0 0 +++ awk '{print $4}' ++ local ret_g=0 ++ '[' 0 = 0 ']' ++ '[' 0 = 0 ']' +++ expr 0 + 0 ++ res=0 ++ return 0 ++ CHECK_RESULT 0 0 0 'Check file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf /tmp/ruyi_device/test +++ date +%Y-%m-%d-%H:%M:%S ++ tar zcf /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/logs/ruyi/ruyi_test_device/2024-04-10-02:20:34.tar.gz /tmp/ruyi_device +tar: Removing leading `/' from member names ++ CHECK_RESULT 0 0 0 'Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Backup temp log file /tmp/ruyi_device/output_y411y failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:20:34 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:20:34 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:20:34 2024 - INFO - start environment cleanup. ++ rm -rf /tmp/ruyi_device ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpvla8bxmu ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpvla8bxmu ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpvla8bxmu +Wed Apr 10 02:20:39 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpvla8bxmu +Wed Apr 10 02:20:39 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:20:39 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-02_20_34.tar.gz b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_device/2024-04-10-02_20_34.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..768dd6a89fd19a707095cdd1f58017fe4ddcc447 GIT binary patch literal 8894 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 sDsm)im$9>-_=RJZx#cRJu=dN0n9ti&j0`b literal 0 HcmV?d00001 diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-03_21_26.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-03_21_26.log new file mode 100644 index 00000000..956b2cc9 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct-rv64ilp32-elf/2024-04-10-03_21_26.log @@ -0,0 +1,294 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:21:26 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp90z5v7xd ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp90z5v7xd ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp90z5v7xd ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp90z5v7xd +Wed Apr 10 03:21:52 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp90z5v7xd ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp90z5v7xd ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp90z5v7xd +Wed Apr 10 03:21:52 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp90z5v7xd ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 7 23.7M 7 1851k 0 0 1778k 0 0:00:13 0:00:01 0:00:12 1778k 17 23.7M 17 4235k 0 0 2075k 0 0:00:11 0:00:02 0:00:09 2076k 31 23.7M 31 7723k 0 0 2536k 0 0:00:09 0:00:03 0:00:06 2536k 50 23.7M 50 11.8M 0 0 3009k 0 0:00:08 0:00:04 0:00:04 3009k 72 23.7M 72 17.1M 0 0 3475k 0 0:00:06 0:00:05 0:00:01 3505k 98 23.7M 98 23.2M 0 0 3942k 0 0:00:06 0:00:06 --:--:-- 4393k 100 23.7M 100 23.7M 0 0 3977k 0 0:00:06 0:00:06 --:--:-- 4931k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:21:59 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:21:59 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting +objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct-rv64ilp32-elf +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240224-PLCT-Sources-RV64ILP32- +g8c718031673d-riscv64-plct-elf.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c7 +18031673d-riscv64-plct-elf.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 4 47.2M 4 2064k 0 0 2992k 0 0:00:16 --:--:-- 0:00:16 2991k 13 47.2M 13 6512k 0 0 3852k 0 0:00:12 0:00:01 0:00:11 3853k 23 47.2M 23 11.1M 0 0 4234k 0 0:00:11 0:00:02 0:00:09 4234k 35 47.2M 35 16.5M 0 0 4595k 0 0:00:10 0:00:03 0:00:07 4596k 47 47.2M 47 22.4M 0 0 4904k 0 0:00:09 0:00:04 0:00:05 4904k 58 47.2M 58 27.5M 0 0 4928k 0 0:00:09 0:00:05 0:00:04 5194k 67 47.2M 67 31.7M 0 0 4855k 0 0:00:09 0:00:06 0:00:03 5193k 76 47.2M 76 36.1M 0 0 4814k 0 0:00:10 0:00:07 0:00:03 5126k 85 47.2M 85 40.3M 0 0 4759k 0 0:00:10 0:00:08 0:00:02 4880k 94 47.2M 94 44.5M 0 0 4704k 0 0:00:10 0:00:09 0:00:01 4516k 100 47.2M 100 47.2M 0 0 4649k 0 0:00:10 0:00:10 --:--:-- 4308k +info: extracting +RuyiSDK-20240224-PLCT-Sources-RV64ILP32-g8c718031673d-riscv64-plct-elf.tar.xz +for package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 +info: package gnu-plct-rv64ilp32-elf-0.20240223.0-ruyi.20240224 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-rv64ilp32-elf-0.2024022 +3.0-ruyi.20240224 ++ [[ 0 != \0 ]] ++ ruyi venv -t gnu-plct-rv64ilp32-elf --without-sysroot baremetal-rv64ilp32 /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct-rv64ilp32-elf.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-elf-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-readelf -h test.o ++ grep 32 + Class: ELF32 + Flags: 0x25, RVC, X32, double-float ABI ++ CHECK_RESULT 0 0 0 'Check test.o 32bit failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 32bit failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ riscv64-plct-elf-objdump -dw test.o ++ grep a0 + 0: 6108 ld a0,0(a0) + 2: 952e add a0,a0,a1 + 8: 4511 li a0,4 + 14: 4511 li a0,4 + 1e: 4521 li a0,8 + 2a: 4511 li a0,4 ++ CHECK_RESULT 0 0 0 'Check test.o 64bit reg failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.o 64bit reg failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:22:25 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:22:25 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:22:25 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp90z5v7xd ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp90z5v7xd ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp90z5v7xd +Wed Apr 10 03:24:20 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp90z5v7xd +Wed Apr 10 03:24:20 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:24:20 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-02_22_55.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-02_22_55.log new file mode 100644 index 00000000..a2a50f13 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_gnu-plct_xiangshan-nanhu/2024-04-10-02_22_55.log @@ -0,0 +1,276 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:22:55 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpy8g91xf2 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpy8g91xf2 ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpy8g91xf2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpy8g91xf2 +Wed Apr 10 02:23:07 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpy8g91xf2 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpy8g91xf2 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpy8g91xf2 +Wed Apr 10 02:23:07 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpy8g91xf2 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 9 23.7M 9 2285k 0 0 4354k 0 0:00:05 --:--:-- 0:00:05 4352k 53 23.7M 53 12.7M 0 0 8560k 0 0:00:02 0:00:01 0:00:01 8559k 100 23.7M 100 23.7M 0 0 9657k 0 0:00:02 0:00:02 --:--:-- 9663k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:23:09 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:23:10 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting +objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting +objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting +objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting +objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting +objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting +objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting +objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting +objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting +objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% +(100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 2073k 0 0 3535k 0 0:01:09 --:--:-- 0:01:09 3539k 3 238M 3 8489k 0 0 5352k 0 0:00:45 0:00:01 0:00:44 5353k 5 238M 5 13.8M 0 0 5465k 0 0:00:44 0:00:02 0:00:42 5467k 8 238M 8 19.4M 0 0 5538k 0 0:00:44 0:00:03 0:00:41 5539k 9 238M 9 23.7M 0 0 5308k 0 0:00:46 0:00:04 0:00:42 5308k 11 238M 11 28.1M 0 0 5153k 0 0:00:47 0:00:05 0:00:42 5344k 13 238M 13 32.4M 0 0 5047k 0 0:00:48 0:00:06 0:00:42 4950k 14 238M 14 35.3M 0 0 4767k 0 0:00:51 0:00:07 0:00:44 4406k 15 238M 15 38.1M 0 0 4545k 0 0:00:53 0:00:08 0:00:45 3833k 16 238M 16 40.3M 0 0 4308k 0 0:00:56 0:00:09 0:00:47 3392k 17 238M 17 42.6M 0 0 4121k 0 0:00:59 0:00:10 0:00:49 2968k 18 238M 18 44.2M 0 0 3907k 0 0:01:02 0:00:11 0:00:51 2406k 19 238M 19 45.7M 0 0 3722k 0 0:01:05 0:00:12 0:00:53 2137k 19 238M 19 47.7M 0 0 3600k 0 0:01:07 0:00:13 0:00:54 1977k 21 238M 21 51.2M 0 0 3526k 0 0:01:09 0:00:14 0:00:55 2107k 22 238M 22 52.9M 0 0 3479k 0 0:01:10 0:00:15 0:00:55 2119k 23 238M 23 55.4M 0 0 3424k 0 0:01:11 0:00:16 0:00:55 2306k 24 238M 24 58.2M 0 0 3389k 0 0:01:12 0:00:17 0:00:55 2549k 25 238M 25 61.6M 0 0 3397k 0 0:01:12 0:00:18 0:00:54 2845k 30 238M 30 73.3M 0 0 3260k 0 0:01:15 0:00:23 0:00:52 2775k 31 238M 31 75.3M 0 0 3269k 0 0:01:14 0:00:23 0:00:51 2859k 33 238M 33 79.4M 0 0 3308k 0 0:01:13 0:00:24 0:00:49 3068k 35 238M 35 84.3M 0 0 3374k 0 0:01:12 0:00:25 0:00:47 3340k 37 238M 37 89.7M 0 0 3458k 0 0:01:10 0:00:26 0:00:44 3600k 40 238M 40 95.7M 0 0 3553k 0 0:01:08 0:00:27 0:00:41 5032k 42 238M 42 101M 0 0 3648k 0 0:01:07 0:00:28 0:00:39 5437k 45 238M 45 108M 0 0 3755k 0 0:01:05 0:00:29 0:00:36 5948k 47 238M 47 114M 0 0 3822k 0 0:01:04 0:00:30 0:00:34 6118k 50 238M 50 120M 0 0 3901k 0 0:01:02 0:00:31 0:00:31 6256k 52 238M 52 125M 0 0 3955k 0 0:01:01 0:00:32 0:00:29 6176k 54 238M 54 131M 0 0 4000k 0 0:01:01 0:00:33 0:00:28 6009k 58 238M 58 139M 0 0 4053k 0 0:01:00 0:00:35 0:00:25 5617k 59 238M 59 141M 0 0 4059k 0 0:01:00 0:00:35 0:00:25 5503k 60 238M 60 145M 0 0 4073k 0 0:01:00 0:00:36 0:00:24 5158k 62 238M 62 149M 0 0 4075k 0 0:01:00 0:00:37 0:00:23 4856k 64 238M 64 153M 0 0 4077k 0 0:01:00 0:00:38 0:00:22 4601k 66 238M 66 157M 0 0 4083k 0 0:00:59 0:00:39 0:00:20 4331k 68 238M 68 162M 0 0 4103k 0 0:00:59 0:00:40 0:00:19 4415k 70 238M 70 167M 0 0 4132k 0 0:00:59 0:00:41 0:00:18 4570k 72 238M 72 173M 0 0 4174k 0 0:00:58 0:00:42 0:00:16 4919k 74 238M 74 178M 0 0 4204k 0 0:00:58 0:00:43 0:00:15 5184k 76 238M 76 183M 0 0 4214k 0 0:00:58 0:00:44 0:00:14 5245k 78 238M 78 187M 0 0 4205k 0 0:00:58 0:00:45 0:00:13 5034k 79 238M 79 190M 0 0 4191k 0 0:00:58 0:00:46 0:00:12 4683k 81 238M 81 194M 0 0 4176k 0 0:00:58 0:00:47 0:00:11 4192k 82 238M 82 197M 0 0 4170k 0 0:00:58 0:00:48 0:00:10 3868k 84 238M 84 201M 0 0 4167k 0 0:00:58 0:00:49 0:00:09 3752k 86 238M 86 206M 0 0 4183k 0 0:00:58 0:00:50 0:00:08 3985k 88 238M 88 211M 0 0 4189k 0 0:00:58 0:00:51 0:00:07 4169k 89 238M 89 214M 0 0 4183k 0 0:00:58 0:00:52 0:00:06 4252k 91 238M 91 218M 0 0 4174k 0 0:00:58 0:00:53 0:00:05 4217k 92 238M 92 221M 0 0 4162k 0 0:00:58 0:00:54 0:00:04 4106k 94 238M 94 225M 0 0 4161k 0 0:00:58 0:00:55 0:00:03 3941k 96 238M 96 230M 0 0 4169k 0 0:00:58 0:00:56 0:00:02 3954k 98 238M 98 235M 0 0 4183k 0 0:00:58 0:00:57 0:00:01 4179k 100 238M 100 238M 0 0 4198k 0 0:00:58 0:00:58 --:--:-- 4465k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv -t gnu-plct xiangshan-nanhu /tmp/mugen_test_venv +info: Creating a Ruyi virtual environment at /tmp/mugen_test_venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /tmp/mugen_test_venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ cat ++ CHECK_RESULT 0 0 0 'Check test.c creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ source /tmp/mugen_test_venv/bin/ruyi-activate +++ '[' /tmp/mugen_test_venv/bin/ruyi-activate = ruyi_test_gnu-plct_xiangshan-nanhu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/tmp/mugen_test_venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/tmp/mugen_test_venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /tmp/mugen_test_venv +++ RUYI_VENV_PROMPT=mugen_test_venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi mugen_test_venv» ' +++ export PS1 ++ riscv64-plct-linux-gnu-gcc -O2 -c -o test.o test.c ++ CHECK_RESULT 0 0 0 'Check test.c compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check test.c compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ rm -f test.c test.o ++ rm -rf /tmp/mugen_test_venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:25:03 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:25:03 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:25:03 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpy8g91xf2 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpy8g91xf2 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpy8g91xf2 +Wed Apr 10 02:26:10 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpy8g91xf2 +Wed Apr 10 02:26:10 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:26:11 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-03_08_46.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-03_08_46.log new file mode 100644 index 00000000..6cb50709 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_llvm/2024-04-10-03_08_46.log @@ -0,0 +1,325 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 03:08:46 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpa5umeu1p ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpa5umeu1p ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpa5umeu1p ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpa5umeu1p +Wed Apr 10 03:09:19 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpa5umeu1p ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpa5umeu1p ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpa5umeu1p +Wed Apr 10 03:09:19 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpa5umeu1p ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 23.7M 1 348k 0 0 906k 0 0:00:26 --:--:-- 0:00:26 907k 11 23.7M 11 2844k 0 0 2053k 0 0:00:11 0:00:01 0:00:10 2053k 24 23.7M 24 5980k 0 0 2507k 0 0:00:09 0:00:02 0:00:07 2507k 36 23.7M 36 8956k 0 0 2646k 0 0:00:09 0:00:03 0:00:06 2646k 51 23.7M 51 12.2M 0 0 2863k 0 0:00:08 0:00:04 0:00:04 2864k 65 23.7M 65 15.5M 0 0 2965k 0 0:00:08 0:00:05 0:00:03 3123k 78 23.7M 78 18.6M 0 0 2986k 0 0:00:08 0:00:06 0:00:02 3244k 92 23.7M 92 21.9M 0 0 3039k 0 0:00:07 0:00:07 --:--:-- 3292k 100 23.7M 100 23.7M 0 0 3100k 0 0:00:07 0:00:07 --:--:-- 3444k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 03:09:28 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 03:09:28 2024 - INFO - Start to run test. ++ mkdir llvm_test ++ cd llvm_test ++ qemu_pkg=qemu-user-riscv-upstream ++ qemu_cmd='-e qemu-user-riscv-upstream' ++ qemu_bin=ruyi-qemu +++ uname -m ++ '[' x86_64 == riscv64 ']' ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/llvm-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ++ '[' -z ' - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121' ']' ++ '[' '!' -z qemu-user-riscv-upstream ']' +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ++ '[' -z ' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ']' ++ ruyi install llvm-upstream gnu-plct qemu-user-riscv-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/llvm-17.0.5.ruyi-20231121.amd64.tar.zst +to /home/jenkins/.cache/ruyi/distfiles/llvm-17.0.5.ruyi-20231121.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 398M 0 1226k 0 0 1177k 0 0:05:46 0:00:01 0:05:45 1177k 0 398M 0 3322k 0 0 1627k 0 0:04:10 0:00:02 0:04:08 1627k 1 398M 1 6218k 0 0 2042k 0 0:03:19 0:00:03 0:03:16 2043k 2 398M 2 9722k 0 0 2405k 0 0:02:49 0:00:04 0:02:45 2405k 3 398M 3 13.7M 0 0 2794k 0 0:02:26 0:00:05 0:02:21 2818k 4 398M 4 18.0M 0 0 3057k 0 0:02:13 0:00:06 0:02:07 3449k 5 398M 5 22.3M 0 0 3248k 0 0:02:05 0:00:07 0:01:58 3910k 6 398M 6 26.2M 0 0 3347k 0 0:02:01 0:00:08 0:01:53 4142k 7 398M 7 30.4M 0 0 3451k 0 0:01:58 0:00:09 0:01:49 4296k 8 398M 8 35.5M 0 0 3627k 0 0:01:52 0:00:10 0:01:42 4466k 10 398M 10 41.1M 0 0 3811k 0 0:01:47 0:00:11 0:01:36 4723k 11 398M 11 46.4M 0 0 3951k 0 0:01:43 0:00:12 0:01:31 4940k 12 398M 12 51.7M 0 0 4062k 0 0:01:40 0:00:13 0:01:27 5212k 13 398M 13 55.8M 0 0 4069k 0 0:01:40 0:00:14 0:01:26 5188k 14 398M 14 59.4M 0 0 4044k 0 0:01:40 0:00:15 0:01:25 4883k 15 398M 15 63.6M 0 0 4062k 0 0:01:40 0:00:16 0:01:24 4614k 17 398M 17 68.3M 0 0 4109k 0 0:01:39 0:00:17 0:01:22 4489k 18 398M 18 73.1M 0 0 4151k 0 0:01:38 0:00:18 0:01:20 4384k 19 398M 19 78.0M 0 0 4195k 0 0:01:37 0:00:19 0:01:18 4550k 20 398M 20 83.5M 0 0 4269k 0 0:01:35 0:00:20 0:01:15 4947k 22 398M 22 88.3M 0 0 4300k 0 0:01:34 0:00:21 0:01:13 5067k 22 398M 22 91.1M 0 0 4235k 0 0:01:36 0:00:22 0:01:14 4668k 23 398M 23 92.9M 0 0 4132k 0 0:01:38 0:00:23 0:01:15 4064k 23 398M 23 94.9M 0 0 4045k 0 0:01:40 0:00:24 0:01:16 3475k 24 398M 24 97.4M 0 0 3983k 0 0:01:42 0:00:25 0:01:17 2835k 24 398M 24 99.5M 0 0 3913k 0 0:01:44 0:00:26 0:01:18 2284k 25 398M 25 101M 0 0 3850k 0 0:01:46 0:00:27 0:01:19 2150k 26 398M 26 103M 0 0 3792k 0 0:01:47 0:00:28 0:01:19 2226k 26 398M 26 106M 0 0 3747k 0 0:01:48 0:00:29 0:01:19 2310k 27 398M 27 109M 0 0 3718k 0 0:01:49 0:00:30 0:01:19 2393k 28 398M 28 111M 0 0 3686k 0 0:01:50 0:00:31 0:01:19 2499k 29 398M 29 116M 0 0 3547k 0 0:01:55 0:00:33 0:01:22 2287k 29 398M 29 117M 0 0 3523k 0 0:01:55 0:00:34 0:01:21 2267k 29 398M 29 118M 0 0 3469k 0 0:01:57 0:00:35 0:01:22 2122k 30 398M 30 120M 0 0 3418k 0 0:01:59 0:00:36 0:01:23 1917k 30 398M 30 122M 0 0 3378k 0 0:02:00 0:00:37 0:01:23 1789k 31 398M 31 124M 0 0 3360k 0 0:02:01 0:00:38 0:01:23 1968k 31 398M 31 127M 0 0 3340k 0 0:02:02 0:00:39 0:01:23 2092k 32 398M 32 129M 0 0 3315k 0 0:02:03 0:00:40 0:01:23 2240k 33 398M 33 132M 0 0 3306k 0 0:02:03 0:00:41 0:01:22 2497k 33 398M 33 135M 0 0 3292k 0 0:02:04 0:00:42 0:01:22 2652k 34 398M 34 138M 0 0 3296k 0 0:02:03 0:00:43 0:01:20 2804k 35 398M 35 141M 0 0 3298k 0 0:02:03 0:00:44 0:01:19 2972k 36 398M 36 144M 0 0 3288k 0 0:02:04 0:00:45 0:01:19 3068k 37 398M 37 147M 0 0 3290k 0 0:02:04 0:00:46 0:01:18 3155k 38 398M 38 151M 0 0 3305k 0 0:02:03 0:00:47 0:01:16 3410k 38 398M 38 155M 0 0 3304k 0 0:02:03 0:00:48 0:01:15 3373k 39 398M 39 157M 0 0 3280k 0 0:02:04 0:00:49 0:01:15 3124k 39 398M 39 159M 0 0 3258k 0 0:02:05 0:00:50 0:01:15 2995k 40 398M 40 161M 0 0 3240k 0 0:02:05 0:00:51 0:01:14 2787k 41 398M 41 163M 0 0 3217k 0 0:02:06 0:00:52 0:01:14 2396k 41 398M 41 165M 0 0 3188k 0 0:02:08 0:00:53 0:01:15 2078k 41 398M 41 166M 0 0 3161k 0 0:02:09 0:00:54 0:01:15 1990k 42 398M 42 168M 0 0 3140k 0 0:02:10 0:00:55 0:01:15 1957k 42 398M 42 170M 0 0 3120k 0 0:02:10 0:00:56 0:01:14 1897k 43 398M 43 172M 0 0 3101k 0 0:02:11 0:00:57 0:01:14 1891k 43 398M 43 174M 0 0 3083k 0 0:02:12 0:00:58 0:01:14 1972k 44 398M 44 176M 0 0 3064k 0 0:02:13 0:00:59 0:01:14 2016k 44 398M 44 178M 0 0 3044k 0 0:02:14 0:01:00 0:01:14 1990k 45 398M 45 180M 0 0 3025k 0 0:02:14 0:01:01 0:01:13 1958k 45 398M 45 182M 0 0 3009k 0 0:02:15 0:01:02 0:01:13 1954k 46 398M 46 183M 0 0 2987k 0 0:02:16 0:01:03 0:01:13 1867k 46 398M 46 185M 0 0 2966k 0 0:02:17 0:01:04 0:01:13 1804k 47 398M 47 187M 0 0 2951k 0 0:02:18 0:01:05 0:01:13 1827k 47 398M 47 188M 0 0 2914k 0 0:02:20 0:01:06 0:01:14 1569k 47 398M 47 188M 0 0 2874k 0 0:02:22 0:01:07 0:01:15 1211k 47 398M 47 188M 0 0 2837k 0 0:02:23 0:01:08 0:01:15 950k 47 398M 47 188M 0 0 2799k 0 0:02:25 0:01:09 0:01:16 673k 47 398M 47 189M 0 0 2763k 0 0:02:27 0:01:10 0:01:17 333k 47 398M 47 189M 0 0 2728k 0 0:02:29 0:01:11 0:01:18 254k 47 398M 47 189M 0 0 2693k 0 0:02:31 0:01:12 0:01:19 262k 47 398M 47 189M 0 0 2660k 0 0:02:33 0:01:13 0:01:20 256k 47 398M 47 190M 0 0 2628k 0 0:02:35 0:01:14 0:01:21 256k 47 398M 47 190M 0 0 2594k 0 0:02:37 0:01:15 0:01:22 250k 47 398M 47 190M 0 0 2565k 0 0:02:39 0:01:16 0:01:23 245k 47 398M 47 190M 0 0 2534k 0 0:02:41 0:01:17 0:01:24 231k 47 398M 47 190M 0 0 2502k 0 0:02:43 0:01:18 0:01:25 203k 47 398M 47 190M 0 0 2474k 0 0:02:45 0:01:19 0:01:26 192k 47 398M 47 191M 0 0 2446k 0 0:02:46 0:01:20 0:01:26 182k 48 398M 48 191M 0 0 2419k 0 0:02:48 0:01:21 0:01:27 202k 48 398M 48 191M 0 0 2394k 0 0:02:50 0:01:22 0:01:28 246k 48 398M 48 192M 0 0 2370k 0 0:02:52 0:01:23 0:01:29 315k 48 398M 48 192M 0 0 2347k 0 0:02:53 0:01:24 0:01:29 338k 48 398M 48 192M 0 0 2321k 0 0:02:55 0:01:25 0:01:30 328k 48 398M 48 193M 0 0 2296k 0 0:02:57 0:01:26 0:01:31 307k 48 398M 48 193M 0 0 2273k 0 0:02:59 0:01:27 0:01:32 278k 48 398M 48 193M 0 0 2254k 0 0:03:01 0:01:28 0:01:33 302k 48 398M 48 195M 0 0 2246k 0 0:03:01 0:01:29 0:01:32 551k 49 398M 49 197M 0 0 2245k 0 0:03:01 0:01:30 0:01:31 944k 50 398M 50 199M 0 0 2248k 0 0:03:01 0:01:31 0:01:30 1408k 50 398M 50 202M 0 0 2252k 0 0:03:01 0:01:32 0:01:29 1899k 51 398M 51 205M 0 0 2264k 0 0:03:00 0:01:33 0:01:27 2450k 52 398M 52 209M 0 0 2282k 0 0:02:58 0:01:34 0:01:24 2921k 53 398M 53 212M 0 0 2289k 0 0:02:58 0:01:35 0:01:23 3081k 53 398M 53 215M 0 0 2292k 0 0:02:58 0:01:36 0:01:22 3104k 54 398M 54 217M 0 0 2300k 0 0:02:57 0:01:37 0:01:20 3173k 55 398M 55 221M 0 0 2308k 0 0:02:56 0:01:38 0:01:18 3132k 56 398M 56 223M 0 0 2312k 0 0:02:56 0:01:39 0:01:17 2873k 56 398M 56 226M 0 0 2319k 0 0:02:56 0:01:40 0:01:16 2896k 57 398M 57 229M 0 0 2321k 0 0:02:55 0:01:41 0:01:14 2874k 58 398M 58 231M 0 0 2323k 0 0:02:55 0:01:42 0:01:13 2768k 58 398M 58 233M 0 0 2323k 0 0:02:55 0:01:43 0:01:12 2612k 58 398M 58 234M 0 0 2306k 0 0:02:57 0:01:44 0:01:13 2188k 58 398M 58 234M 0 0 2287k 0 0:02:58 0:01:45 0:01:13 1644k 58 398M 58 234M 0 0 2268k 0 0:03:00 0:01:46 0:01:14 1190k 58 398M 58 235M 0 0 2249k 0 0:03:01 0:01:47 0:01:14 746k 59 398M 59 235M 0 0 2231k 0 0:03:03 0:01:48 0:01:15 314k 59 398M 59 235M 0 0 2211k 0 0:03:04 0:01:49 0:01:15 249k 59 398M 59 235M 0 0 2192k 0 0:03:06 0:01:50 0:01:16 216k 59 398M 59 235M 0 0 2174k 0 0:03:07 0:01:51 0:01:16 198k 59 398M 59 236M 0 0 2158k 0 0:03:09 0:01:52 0:01:17 214k 59 398M 59 236M 0 0 2141k 0 0:03:10 0:01:53 0:01:17 198k 59 398M 59 236M 0 0 2126k 0 0:03:12 0:01:54 0:01:18 273k 59 398M 59 237M 0 0 2110k 0 0:03:13 0:01:55 0:01:18 304k 59 398M 59 237M 0 0 2095k 0 0:03:14 0:01:56 0:01:18 347k 59 398M 59 237M 0 0 2080k 0 0:03:16 0:01:57 0:01:19 314k 59 398M 59 237M 0 0 2062k 0 0:03:17 0:01:58 0:01:19 296k 59 398M 59 238M 0 0 2047k 0 0:03:19 0:01:59 0:01:20 246k 59 398M 59 238M 0 0 2033k 0 0:03:20 0:02:00 0:01:20 253k 59 398M 59 238M 0 0 2019k 0 0:03:22 0:02:01 0:01:21 238k 59 398M 59 239M 0 0 2005k 0 0:03:23 0:02:02 0:01:21 262k 59 398M 59 239M 0 0 1990k 0 0:03:25 0:02:03 0:01:22 272k 60 398M 60 239M 0 0 1976k 0 0:03:26 0:02:04 0:01:22 279k 60 398M 60 239M 0 0 1962k 0 0:03:28 0:02:05 0:01:23 268k 60 398M 60 240M 0 0 1954k 0 0:03:28 0:02:06 0:01:22 390k 60 398M 60 242M 0 0 1954k 0 0:03:28 0:02:07 0:01:21 704k 61 398M 61 244M 0 0 1955k 0 0:03:28 0:02:08 0:01:20 1088k 61 398M 61 246M 0 0 1958k 0 0:03:28 0:02:09 0:01:19 1507k 62 398M 62 249M 0 0 1965k 0 0:03:27 0:02:10 0:01:17 2030k 63 398M 63 252M 0 0 1972k 0 0:03:27 0:02:11 0:01:16 2413k 64 398M 64 255M 0 0 1984k 0 0:03:25 0:02:12 0:01:13 2762k 65 398M 65 259M 0 0 1999k 0 0:03:24 0:02:13 0:01:11 3143k 65 398M 65 263M 0 0 2010k 0 0:03:23 0:02:14 0:01:09 3340k 66 398M 66 266M 0 0 2019k 0 0:03:22 0:02:15 0:01:07 3430k 67 398M 67 270M 0 0 2033k 0 0:03:20 0:02:16 0:01:04 3622k 68 398M 68 273M 0 0 2041k 0 0:03:20 0:02:17 0:01:03 3527k 69 398M 69 276M 0 0 2050k 0 0:03:19 0:02:18 0:01:01 3388k 70 398M 70 280M 0 0 2062k 0 0:03:17 0:02:19 0:00:58 3462k 71 398M 71 283M 0 0 2072k 0 0:03:17 0:02:20 0:00:57 3495k 71 398M 71 286M 0 0 2080k 0 0:03:16 0:02:21 0:00:55 3372k 72 398M 72 289M 0 0 2088k 0 0:03:15 0:02:22 0:00:53 3381k 73 398M 73 292M 0 0 2092k 0 0:03:15 0:02:23 0:00:52 3273k 75 398M 75 300M 0 0 2091k 0 0:03:15 0:02:26 0:00:49 2602k 75 398M 75 300M 0 0 2090k 0 0:03:15 0:02:27 0:00:48 2442k 75 398M 75 301M 0 0 2085k 0 0:03:15 0:02:28 0:00:47 2194k 76 398M 76 303M 0 0 2086k 0 0:03:15 0:02:29 0:00:46 2055k 76 398M 76 306M 0 0 2088k 0 0:03:15 0:02:30 0:00:45 2002k 77 398M 77 308M 0 0 2089k 0 0:03:15 0:02:31 0:00:44 2016k 77 398M 77 310M 0 0 2090k 0 0:03:15 0:02:32 0:00:43 2110k 78 398M 78 312M 0 0 2089k 0 0:03:15 0:02:33 0:00:42 2195k 78 398M 78 314M 0 0 2090k 0 0:03:15 0:02:34 0:00:41 2201k 79 398M 79 316M 0 0 2093k 0 0:03:15 0:02:35 0:00:40 2227k 80 398M 80 320M 0 0 2100k 0 0:03:14 0:02:36 0:00:38 2426k 81 398M 81 323M 0 0 2111k 0 0:03:13 0:02:37 0:00:36 2732k 81 398M 81 326M 0 0 2115k 0 0:03:12 0:02:38 0:00:34 2918k 82 398M 82 329M 0 0 2119k 0 0:03:12 0:02:39 0:00:33 2997k 83 398M 83 331M 0 0 2122k 0 0:03:12 0:02:40 0:00:32 3036k 83 398M 83 333M 0 0 2122k 0 0:03:12 0:02:41 0:00:31 2816k 84 398M 84 335M 0 0 2121k 0 0:03:12 0:02:42 0:00:30 2451k 84 398M 84 337M 0 0 2120k 0 0:03:12 0:02:43 0:00:29 2268k 85 398M 85 340M 0 0 2122k 0 0:03:12 0:02:44 0:00:28 2237k 86 398M 86 343M 0 0 2129k 0 0:03:11 0:02:45 0:00:26 2345k 86 398M 86 346M 0 0 2134k 0 0:03:11 0:02:46 0:00:25 2531k 87 398M 87 349M 0 0 2140k 0 0:03:10 0:02:47 0:00:23 2739k 88 398M 88 351M 0 0 2144k 0 0:03:10 0:02:48 0:00:22 2934k 88 398M 88 354M 0 0 2149k 0 0:03:09 0:02:49 0:00:20 3027k 89 398M 89 357M 0 0 2154k 0 0:03:09 0:02:50 0:00:19 2998k 90 398M 90 361M 0 0 2162k 0 0:03:08 0:02:51 0:00:17 3104k 91 398M 91 363M 0 0 2163k 0 0:03:08 0:02:52 0:00:16 2939k 91 398M 91 363M 0 0 2152k 0 0:03:09 0:02:53 0:00:16 2428k 91 398M 91 364M 0 0 2142k 0 0:03:10 0:02:54 0:00:16 1895k 91 398M 91 364M 0 0 2131k 0 0:03:11 0:02:55 0:00:16 1329k 91 398M 91 364M 0 0 2121k 0 0:03:12 0:02:56 0:00:16 691k 91 398M 91 364M 0 0 2110k 0 0:03:13 0:02:57 0:00:16 271k 91 398M 91 365M 0 0 2100k 0 0:03:14 0:02:58 0:00:16 273k 91 398M 91 365M 0 0 2090k 0 0:03:15 0:02:59 0:00:16 279k 91 398M 91 365M 0 0 2074k 0 0:03:16 0:03:00 0:00:16 234k 91 398M 91 365M 0 0 2066k 0 0:03:17 0:03:01 0:00:16 183k 91 398M 91 365M 0 0 2056k 0 0:03:18 0:03:02 0:00:16 141k 91 398M 91 365M 0 0 2045k 0 0:03:19 0:03:03 0:00:16 94720 91 398M 91 365M 0 0 2033k 0 0:03:20 0:03:04 0:00:16 57065 91 398M 91 365M 0 0 2023k 0 0:03:21 0:03:05 0:00:16 48741 91 398M 91 365M 0 0 2013k 0 0:03:22 0:03:06 0:00:16 56661 91 398M 91 365M 0 0 2003k 0 0:03:23 0:03:07 0:00:16 62188 91 398M 91 365M 0 0 1992k 0 0:03:24 0:03:08 0:00:16 55932 91 398M 91 366M 0 0 1982k 0 0:03:25 0:03:09 0:00:16 53961 91 398M 91 366M 0 0 1972k 0 0:03:27 0:03:10 0:00:17 63365 91 398M 91 366M 0 0 1962k 0 0:03:28 0:03:11 0:00:17 69350 91 398M 91 366M 0 0 1950k 0 0:03:29 0:03:12 0:00:17 66061 91 398M 91 366M 0 0 1942k 0 0:03:30 0:03:13 0:00:17 71988 91 398M 91 366M 0 0 1932k 0 0:03:31 0:03:14 0:00:17 65536 91 398M 91 366M 0 0 1923k 0 0:03:32 0:03:15 0:00:17 62180 91 398M 91 366M 0 0 1914k 0 0:03:33 0:03:16 0:00:17 58958 91 398M 91 366M 0 0 1904k 0 0:03:34 0:03:17 0:00:17 58066 91 398M 91 366M 0 0 1895k 0 0:03:35 0:03:18 0:00:17 62280 91 398M 91 366M 0 0 1885k 0 0:03:36 0:03:19 0:00:17 65418 91 398M 91 366M 0 0 1876k 0 0:03:37 0:03:20 0:00:17 62412 91 398M 91 366M 0 0 1866k 0 0:03:38 0:03:21 0:00:17 54606 91 398M 91 366M 0 0 1859k 0 0:03:39 0:03:22 0:00:17 65536 92 398M 92 366M 0 0 1849k 0 0:03:40 0:03:23 0:00:17 58179 92 398M 92 366M 0 0 1841k 0 0:03:41 0:03:24 0:00:17 59065 92 398M 92 367M 0 0 1833k 0 0:03:42 0:03:25 0:00:17 82113 92 398M 92 367M 0 0 1825k 0 0:03:43 0:03:26 0:00:17 121k 92 398M 92 367M 0 0 1817k 0 0:03:44 0:03:27 0:00:17 147k 92 398M 92 367M 0 0 1810k 0 0:03:45 0:03:28 0:00:17 198k 92 398M 92 368M 0 0 1804k 0 0:03:46 0:03:29 0:00:17 291k 92 398M 92 368M 0 0 1797k 0 0:03:47 0:03:30 0:00:17 342k 92 398M 92 370M 0 0 1795k 0 0:03:47 0:03:31 0:00:16 553k 93 398M 93 372M 0 0 1796k 0 0:03:47 0:03:32 0:00:15 919k 93 398M 93 374M 0 0 1801k 0 0:03:46 0:03:33 0:00:13 1408k 94 398M 94 377M 0 0 1806k 0 0:03:46 0:03:34 0:00:12 1889k 95 398M 95 379M 0 0 1808k 0 0:03:45 0:03:35 0:00:10 2262k 95 398M 95 382M 0 0 1813k 0 0:03:45 0:03:36 0:00:09 2585k 96 398M 96 385M 0 0 1817k 0 0:03:44 0:03:37 0:00:07 2697k 97 398M 97 387M 0 0 1817k 0 0:03:44 0:03:38 0:00:06 2537k 97 398M 97 389M 0 0 1820k 0 0:03:44 0:03:39 0:00:05 2441k 98 398M 98 392M 0 0 1824k 0 0:03:43 0:03:40 0:00:03 2518k 99 398M 99 395M 0 0 1830k 0 0:03:43 0:03:41 0:00:02 2547k 99 398M 99 398M 0 0 1835k 0 0:03:42 0:03:42 --:--:-- 2630k 100 398M 100 398M 0 0 1836k 0 0:03:42 0:03:42 --:--:-- 2755k +info: extracting llvm-17.0.5.ruyi-20231121.amd64.tar.zst for package +llvm-upstream-17.0.5-ruyi.20231121 +info: package llvm-upstream-17.0.5-ruyi.20231121 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/llvm-upstream-17.0.5-ruyi.202311 +21 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 14.5M 0 33742 0 0 142k 0 0:01:44 --:--:-- 0:01:44 142k 13 14.5M 13 2046k 0 0 1692k 0 0:00:08 0:00:01 0:00:07 1692k 32 14.5M 32 4910k 0 0 2223k 0 0:00:06 0:00:02 0:00:04 2224k 50 14.5M 50 7470k 0 0 2326k 0 0:00:06 0:00:03 0:00:03 2326k 64 14.5M 64 9614k 0 0 2284k 0 0:00:06 0:00:04 0:00:02 2284k 77 14.5M 77 11.3M 0 0 2235k 0 0:00:06 0:00:05 0:00:01 2332k 92 14.5M 92 13.5M 0 0 2233k 0 0:00:06 0:00:06 --:--:-- 2364k 100 14.5M 100 14.5M 0 0 2160k 0 0:00:06 0:00:06 --:--:-- 2130k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 1785k 0 0 1725k 0 0:02:21 0:00:01 0:02:20 1725k 1 238M 1 3721k 0 0 1828k 0 0:02:13 0:00:02 0:02:11 1828k 2 238M 2 5849k 0 0 1927k 0 0:02:06 0:00:03 0:02:03 1927k 3 238M 3 7593k 0 0 1881k 0 0:02:10 0:00:04 0:02:06 1882k 3 238M 3 9273k 0 0 1841k 0 0:02:12 0:00:05 0:02:07 1858k 4 238M 4 10.9M 0 0 1850k 0 0:02:12 0:00:06 0:02:06 1877k 5 238M 5 12.6M 0 0 1834k 0 0:02:13 0:00:07 0:02:06 1836k 5 238M 5 13.6M 0 0 1744k 0 0:02:20 0:00:08 0:02:12 1633k 6 238M 6 15.2M 0 0 1729k 0 0:02:21 0:00:09 0:02:12 1606k 7 238M 7 17.5M 0 0 1791k 0 0:02:16 0:00:10 0:02:06 1740k 8 238M 8 19.6M 0 0 1826k 0 0:02:13 0:00:11 0:02:02 1796k 9 238M 9 22.1M 0 0 1884k 0 0:02:09 0:00:12 0:01:57 1954k 10 238M 10 23.9M 0 0 1883k 0 0:02:09 0:00:13 0:01:56 2106k 10 238M 10 25.6M 0 0 1873k 0 0:02:10 0:00:14 0:01:56 2134k 11 238M 11 27.5M 0 0 1874k 0 0:02:10 0:00:15 0:01:55 2041k 12 238M 12 29.6M 0 0 1895k 0 0:02:09 0:00:16 0:01:53 2047k 13 238M 13 31.6M 0 0 1901k 0 0:02:08 0:00:17 0:01:51 1942k 14 238M 14 33.5M 0 0 1903k 0 0:02:08 0:00:18 0:01:50 1955k 14 238M 14 35.4M 0 0 1906k 0 0:02:08 0:00:19 0:01:49 1998k 15 238M 15 37.1M 0 0 1896k 0 0:02:09 0:00:20 0:01:49 1961k 16 238M 16 38.4M 0 0 1871k 0 0:02:10 0:00:21 0:01:49 1795k 16 238M 16 39.3M 0 0 1826k 0 0:02:13 0:00:22 0:01:51 1570k 16 238M 16 40.2M 0 0 1789k 0 0:02:16 0:00:23 0:01:53 1379k 17 238M 17 41.9M 0 0 1787k 0 0:02:16 0:00:24 0:01:52 1335k 18 238M 18 44.4M 0 0 1816k 0 0:02:14 0:00:25 0:01:49 1497k 19 238M 19 46.7M 0 0 1840k 0 0:02:12 0:00:26 0:01:46 1709k 20 238M 20 49.6M 0 0 1880k 0 0:02:10 0:00:27 0:01:43 2119k 22 238M 22 53.1M 0 0 1941k 0 0:02:06 0:00:28 0:01:38 2643k 23 238M 23 56.9M 0 0 2007k 0 0:02:01 0:00:29 0:01:32 3067k 25 238M 25 60.2M 0 0 2054k 0 0:01:59 0:00:30 0:01:29 3249k 26 238M 26 63.3M 0 0 2088k 0 0:01:57 0:00:31 0:01:26 3382k 27 238M 27 65.9M 0 0 2108k 0 0:01:56 0:00:32 0:01:24 3338k 28 238M 28 68.6M 0 0 2129k 0 0:01:54 0:00:33 0:01:21 3180k 30 238M 30 71.8M 0 0 2162k 0 0:01:53 0:00:34 0:01:19 3059k 31 238M 31 74.7M 0 0 2185k 0 0:01:51 0:00:35 0:01:16 2969k 32 238M 32 77.4M 0 0 2199k 0 0:01:51 0:00:36 0:01:15 2886k 33 238M 33 79.5M 0 0 2199k 0 0:01:51 0:00:37 0:01:14 2781k 34 238M 34 81.6M 0 0 2199k 0 0:01:51 0:00:38 0:01:13 2659k 35 238M 35 84.1M 0 0 2207k 0 0:01:50 0:00:39 0:01:11 2511k 36 238M 36 86.4M 0 0 2210k 0 0:01:50 0:00:40 0:01:10 2387k 37 238M 37 88.6M 0 0 2211k 0 0:01:50 0:00:41 0:01:09 2297k 37 238M 37 90.2M 0 0 2199k 0 0:01:51 0:00:42 0:01:09 2201k 37 238M 37 90.7M 0 0 2159k 0 0:01:53 0:00:43 0:01:10 1860k 38 238M 38 91.3M 0 0 2123k 0 0:01:55 0:00:44 0:01:11 1474k 38 238M 38 92.0M 0 0 2093k 0 0:01:56 0:00:45 0:01:11 1155k 38 238M 38 92.7M 0 0 2063k 0 0:01:58 0:00:46 0:01:12 853k 39 238M 39 93.4M 0 0 2034k 0 0:02:00 0:00:47 0:01:13 652k 39 238M 39 94.1M 0 0 2007k 0 0:02:01 0:00:48 0:01:13 698k 39 238M 39 94.8M 0 0 1979k 0 0:02:03 0:00:49 0:01:14 708k 39 238M 39 95.2M 0 0 1948k 0 0:02:05 0:00:50 0:01:15 646k 39 238M 39 95.5M 0 0 1916k 0 0:02:07 0:00:51 0:01:16 560k 40 238M 40 95.8M 0 0 1884k 0 0:02:09 0:00:52 0:01:17 475k 40 238M 40 96.0M 0 0 1854k 0 0:02:11 0:00:53 0:01:18 384k 40 238M 40 96.9M 0 0 1836k 0 0:02:13 0:00:54 0:01:19 436k 41 238M 41 98.5M 0 0 1833k 0 0:02:13 0:00:55 0:01:18 678k 42 238M 42 100M 0 0 1843k 0 0:02:12 0:00:56 0:01:16 1097k 43 238M 43 103M 0 0 1865k 0 0:02:11 0:00:57 0:01:14 1668k 44 238M 44 107M 0 0 1895k 0 0:02:09 0:00:58 0:01:11 2330k 46 238M 46 110M 0 0 1913k 0 0:02:07 0:00:59 0:01:08 2746k 47 238M 47 112M 0 0 1925k 0 0:02:07 0:01:00 0:01:07 2934k 48 238M 48 115M 0 0 1933k 0 0:02:06 0:01:01 0:01:05 2938k 49 238M 49 117M 0 0 1935k 0 0:02:06 0:01:02 0:01:04 2722k 49 238M 49 118M 0 0 1922k 0 0:02:07 0:01:03 0:01:04 2239k 50 238M 50 119M 0 0 1915k 0 0:02:07 0:01:04 0:01:03 1935k 50 238M 50 121M 0 0 1910k 0 0:02:08 0:01:05 0:01:03 1740k 51 238M 51 123M 0 0 1898k 0 0:02:08 0:01:06 0:01:02 1503k 51 238M 51 123M 0 0 1891k 0 0:02:09 0:01:07 0:01:02 1357k 52 238M 52 124M 0 0 1874k 0 0:02:10 0:01:08 0:01:02 1272k 52 238M 52 125M 0 0 1860k 0 0:02:11 0:01:09 0:01:02 1154k 52 238M 52 126M 0 0 1845k 0 0:02:12 0:01:10 0:01:02 991k 53 238M 53 127M 0 0 1832k 0 0:02:13 0:01:11 0:01:02 887k 53 238M 53 128M 0 0 1827k 0 0:02:13 0:01:12 0:01:01 953k 54 238M 54 130M 0 0 1826k 0 0:02:13 0:01:13 0:01:00 1171k 54 238M 54 131M 0 0 1817k 0 0:02:14 0:01:14 0:01:00 1226k 55 238M 55 133M 0 0 1815k 0 0:02:14 0:01:15 0:00:59 1396k 56 238M 56 134M 0 0 1813k 0 0:02:14 0:01:16 0:00:58 1548k 56 238M 56 136M 0 0 1807k 0 0:02:15 0:01:17 0:00:58 1532k 57 238M 57 137M 0 0 1810k 0 0:02:15 0:01:18 0:00:57 1574k 58 238M 58 140M 0 0 1818k 0 0:02:14 0:01:19 0:00:55 1833k 59 238M 59 141M 0 0 1814k 0 0:02:14 0:01:20 0:00:54 1798k 59 238M 59 142M 0 0 1806k 0 0:02:15 0:01:21 0:00:54 1699k 60 238M 60 143M 0 0 1790k 0 0:02:16 0:01:22 0:00:54 1519k 60 238M 60 143M 0 0 1771k 0 0:02:18 0:01:23 0:00:55 1159k 60 238M 60 143M 0 0 1754k 0 0:02:19 0:01:24 0:00:55 742k 60 238M 60 144M 0 0 1738k 0 0:02:20 0:01:25 0:00:55 529k 60 238M 60 145M 0 0 1728k 0 0:02:21 0:01:26 0:00:55 457k 61 238M 61 146M 0 0 1726k 0 0:02:21 0:01:27 0:00:54 683k 62 238M 62 149M 0 0 1734k 0 0:02:21 0:01:28 0:00:53 1115k 63 238M 63 152M 0 0 1749k 0 0:02:19 0:01:29 0:00:50 1657k 65 238M 65 155M 0 0 1772k 0 0:02:18 0:01:30 0:00:48 2343k 67 238M 67 160M 0 0 1803k 0 0:02:15 0:01:31 0:00:44 3085k 69 238M 69 165M 0 0 1839k 0 0:02:13 0:01:32 0:00:41 3801k 71 238M 71 170M 0 0 1877k 0 0:02:10 0:01:33 0:00:37 4409k 73 238M 73 176M 0 0 1922k 0 0:02:07 0:01:34 0:00:33 5004k 76 238M 76 181M 0 0 1957k 0 0:02:05 0:01:35 0:00:30 5296k 78 238M 78 187M 0 0 1995k 0 0:02:02 0:01:36 0:00:26 5491k 80 238M 80 193M 0 0 2038k 0 0:02:00 0:01:37 0:00:23 5705k 83 238M 83 199M 0 0 2083k 0 0:01:57 0:01:38 0:00:19 5907k 86 238M 86 205M 0 0 2128k 0 0:01:54 0:01:39 0:00:15 5997k 88 238M 88 211M 0 0 2165k 0 0:01:52 0:01:40 0:00:12 6124k 91 238M 91 217M 0 0 2209k 0 0:01:50 0:01:41 0:00:09 6326k 93 238M 93 224M 0 0 2253k 0 0:01:48 0:01:42 0:00:06 6428k 96 238M 96 231M 0 0 2303k 0 0:01:46 0:01:43 0:00:03 6614k 100 238M 100 238M 0 0 2353k 0 0:01:43 0:01:43 --:--:-- 6858k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t llvm-upstream --sysroot-from gnu-plct -e qemu-user-riscv-upstream generic venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/llvm_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_llvm.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/llvm_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ clang -O3 hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi llvm compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi llvm compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi binary failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi binary failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf llvm_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 03:21:11 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 03:21:11 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 03:21:11 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpa5umeu1p ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpa5umeu1p ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpa5umeu1p +Wed Apr 10 03:21:25 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpa5umeu1p +Wed Apr 10 03:21:25 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 03:21:26 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_22_19.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_22_19.log new file mode 100644 index 00000000..f539a42a --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_news/2024-04-10-02_22_19.log @@ -0,0 +1,239 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:22:19 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpgbjjjmxk ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpgbjjjmxk ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpgbjjjmxk ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpgbjjjmxk +Wed Apr 10 02:22:32 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpgbjjjmxk ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpgbjjjmxk ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpgbjjjmxk +Wed Apr 10 02:22:32 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpgbjjjmxk ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 20 23.7M 20 4927k 0 0 4394k 0 0:00:05 0:00:01 0:00:04 4395k 40 23.7M 40 9855k 0 0 4639k 0 0:00:05 0:00:02 0:00:03 4640k 58 23.7M 58 13.8M 0 0 4550k 0 0:00:05 0:00:03 0:00:02 4550k 75 23.7M 75 17.8M 0 0 4437k 0 0:00:05 0:00:04 0:00:01 4437k 91 23.7M 91 21.6M 0 0 4321k 0 0:00:05 0:00:05 --:--:-- 4433k 100 23.7M 100 23.7M 0 0 4184k 0 0:00:05 0:00:05 --:--:-- 4134k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:22:38 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:22:38 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: +15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting +objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting +objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting +objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting +objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting +objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi news read ++ grep '#' +# RuyiSDK 支持展示新闻了 +# 新增板卡支持 (2024-01-15) +## Milk-V Duo +### 64M RAM 版本 +### 256M RAM 版本 +## Milk-V Pioneer +## Sipeed LicheePi 4A +# 新增板卡支持 (2024-01-29) +## Sipeed LicheeRV & Allwinner 哪吒 D1 +## StarFive VisionFive +## StarFive VisionFive2 +# RuyiSDK 0.4 版本更新说明 +## RuyiSDK 包管理器 +## RuyiSDK 软件源 +# RV64ILP32 裸机工具链与 profile 现已可用 +## 使用示例 ++ CHECK_RESULT 0 0 0 'Check ruyi news read failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read ++ grep 'No news to display.' +No news to display. ++ CHECK_RESULT 0 0 0 'Check ruyi news read empty failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read empty failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news read 1 ++ grep '#' +# RuyiSDK 支持展示新闻了 ++ CHECK_RESULT 0 0 0 'Check ruyi news read 1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news read 1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list ++ grep 'News items' +News items: ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:22:50 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:22:50 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:22:50 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpgbjjjmxk ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpgbjjjmxk ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpgbjjjmxk +Wed Apr 10 02:22:54 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpgbjjjmxk +Wed Apr 10 02:22:54 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:22:55 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_05_24.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_05_24.log new file mode 100644 index 00000000..bd6ffab2 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_qemu/2024-04-10-02_05_24.log @@ -0,0 +1,302 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:05:24 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp99ckkfdt ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp99ckkfdt ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp99ckkfdt ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp99ckkfdt +Wed Apr 10 02:05:42 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp99ckkfdt ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp99ckkfdt ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp99ckkfdt +Wed Apr 10 02:05:43 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp99ckkfdt ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 23.7M 3 779k 0 0 954k 0 0:00:25 --:--:-- 0:00:25 954k 10 23.7M 10 2443k 0 0 1344k 0 0:00:18 0:00:01 0:00:17 1344k 17 23.7M 17 4155k 0 0 1474k 0 0:00:16 0:00:02 0:00:14 1474k 25 23.7M 25 6091k 0 0 1595k 0 0:00:15 0:00:03 0:00:12 1595k 33 23.7M 33 8043k 0 0 1667k 0 0:00:14 0:00:04 0:00:10 1668k 41 23.7M 41 9995k 0 0 1718k 0 0:00:14 0:00:05 0:00:09 1843k 49 23.7M 49 11.7M 0 0 1769k 0 0:00:13 0:00:06 0:00:07 1923k 60 23.7M 60 14.4M 0 0 1890k 0 0:00:12 0:00:07 0:00:05 2124k 72 23.7M 72 17.2M 0 0 2008k 0 0:00:12 0:00:08 0:00:04 2323k 82 23.7M 82 19.4M 0 0 2031k 0 0:00:11 0:00:09 0:00:02 2382k 90 23.7M 90 21.3M 0 0 2023k 0 0:00:12 0:00:10 0:00:02 2377k 94 23.7M 94 22.5M 0 0 1951k 0 0:00:12 0:00:11 0:00:01 2199k 99 23.7M 99 23.5M 0 0 1880k 0 0:00:12 0:00:12 --:--:-- 1865k 100 23.7M 100 23.7M 0 0 1878k 0 0:00:12 0:00:12 --:--:-- 1601k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:05:56 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:05:56 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:01 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-upstream/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ++ '[' -z ' - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 ()' ']' ++ ruyi install gnu-plct qemu-user-riscv-upstream +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-upstream-8.2.0.ruyi-2024 +0128.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-upstream-8.2.0.ruyi-20240128 +.amd64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1 14.5M 1 187k 0 0 302k 0 0:00:49 --:--:-- 0:00:49 302k 4 14.5M 4 619k 0 0 398k 0 0:00:37 0:00:01 0:00:36 398k 6 14.5M 6 987k 0 0 382k 0 0:00:39 0:00:02 0:00:37 382k 6 14.5M 6 987k 0 0 273k 0 0:00:54 0:00:03 0:00:51 273k 9 14.5M 9 1419k 0 0 311k 0 0:00:47 0:00:04 0:00:43 311k 11 14.5M 11 1675k 0 0 301k 0 0:00:49 0:00:05 0:00:44 301k 12 14.5M 12 1867k 0 0 283k 0 0:00:52 0:00:06 0:00:46 248k 13 14.5M 13 2043k 0 0 268k 0 0:00:55 0:00:07 0:00:48 210k 14 14.5M 14 2203k 0 0 257k 0 0:00:58 0:00:08 0:00:50 245k 15 14.5M 15 2379k 0 0 248k 0 0:01:00 0:00:09 0:00:51 191k 16 14.5M 16 2427k 0 0 230k 0 0:01:04 0:00:10 0:00:54 150k 16 14.5M 16 2523k 0 0 218k 0 0:01:08 0:00:11 0:00:57 131k 17 14.5M 17 2619k 0 0 207k 0 0:01:11 0:00:12 0:00:59 115k 18 14.5M 18 2699k 0 0 198k 0 0:01:15 0:00:13 0:01:02 98k 19 14.5M 19 2939k 0 0 201k 0 0:01:13 0:00:14 0:00:59 112k 21 14.5M 21 3147k 0 0 202k 0 0:01:13 0:00:15 0:00:58 143k 21 14.5M 21 3259k 0 0 196k 0 0:01:15 0:00:16 0:00:59 147k 22 14.5M 22 3371k 0 0 191k 0 0:01:17 0:00:17 0:01:00 150k 23 14.5M 23 3467k 0 0 185k 0 0:01:20 0:00:18 0:01:02 151k 23 14.5M 23 3579k 0 0 182k 0 0:01:21 0:00:19 0:01:02 127k 24 14.5M 24 3659k 0 0 177k 0 0:01:23 0:00:20 0:01:03 102k 25 14.5M 25 3755k 0 0 173k 0 0:01:25 0:00:21 0:01:04 98k 25 14.5M 25 3851k 0 0 170k 0 0:01:27 0:00:22 0:01:05 98402 26 14.5M 26 3963k 0 0 168k 0 0:01:28 0:00:23 0:01:05 100k 29 14.5M 29 4347k 0 0 177k 0 0:01:24 0:00:24 0:01:00 154k 36 14.5M 36 5435k 0 0 212k 0 0:01:10 0:00:25 0:00:45 354k 49 14.5M 49 7371k 0 0 277k 0 0:00:53 0:00:26 0:00:27 730k 63 14.5M 63 9451k 0 0 343k 0 0:00:43 0:00:27 0:00:16 1126k 73 14.5M 73 10.7M 0 0 384k 0 0:00:38 0:00:28 0:00:10 1408k 82 14.5M 82 11.9M 0 0 415k 0 0:00:35 0:00:29 0:00:06 1584k 91 14.5M 91 13.4M 0 0 449k 0 0:00:33 0:00:30 0:00:03 1662k 100 14.5M 100 14.5M 0 0 475k 0 0:00:31 0:00:31 --:--:-- 1547k +info: extracting qemu-user-riscv-upstream-8.2.0.ruyi-20240128.amd64.tar.zst for +package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 +info: package qemu-user-riscv-upstream-8.2.0-ruyi.20240128 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-upstream-8.2.0-r +uyi.20240128 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 863k 0 0 1084k 0 0:03:45 --:--:-- 0:03:45 1085k 1 238M 1 3855k 0 0 2161k 0 0:01:53 0:00:01 0:01:52 2162k 3 238M 3 7359k 0 0 2642k 0 0:01:32 0:00:02 0:01:30 2642k 4 238M 4 10.2M 0 0 2787k 0 0:01:27 0:00:03 0:01:24 2787k 5 238M 5 12.5M 0 0 2685k 0 0:01:31 0:00:04 0:01:27 2686k 6 238M 6 15.2M 0 0 2703k 0 0:01:30 0:00:05 0:01:25 2961k 7 238M 7 17.8M 0 0 2689k 0 0:01:30 0:00:06 0:01:24 2877k 8 238M 8 20.6M 0 0 2720k 0 0:01:29 0:00:07 0:01:22 2763k 9 238M 9 23.2M 0 0 2711k 0 0:01:30 0:00:08 0:01:22 2652k 10 238M 10 25.2M 0 0 2642k 0 0:01:32 0:00:09 0:01:23 2601k 11 238M 11 26.9M 0 0 2562k 0 0:01:35 0:00:10 0:01:25 2400k 12 238M 12 28.8M 0 0 2510k 0 0:01:37 0:00:11 0:01:26 2267k 12 238M 12 30.3M 0 0 2433k 0 0:01:40 0:00:12 0:01:28 1987k 13 238M 13 31.7M 0 0 2356k 0 0:01:43 0:00:13 0:01:30 1733k 13 238M 13 33.1M 0 0 2296k 0 0:01:46 0:00:14 0:01:32 1620k 14 238M 14 34.6M 0 0 2248k 0 0:01:48 0:00:15 0:01:33 1571k 15 238M 15 36.0M 0 0 2201k 0 0:01:51 0:00:16 0:01:35 1472k 15 238M 15 37.3M 0 0 2152k 0 0:01:53 0:00:17 0:01:36 1436k 16 238M 16 38.8M 0 0 2116k 0 0:01:55 0:00:18 0:01:37 1456k 17 238M 17 40.9M 0 0 2117k 0 0:01:55 0:00:19 0:01:36 1585k 18 238M 18 43.0M 0 0 2123k 0 0:01:55 0:00:20 0:01:35 1728k 19 238M 19 45.4M 0 0 2136k 0 0:01:54 0:00:21 0:01:33 1919k 19 238M 19 47.7M 0 0 2146k 0 0:01:54 0:00:22 0:01:32 2123k 20 238M 20 49.4M 0 0 2128k 0 0:01:54 0:00:23 0:01:31 2173k 21 238M 21 51.0M 0 0 2107k 0 0:01:56 0:00:24 0:01:32 2070k 21 238M 21 52.4M 0 0 2083k 0 0:01:57 0:00:25 0:01:32 1916k 22 238M 22 53.8M 0 0 2057k 0 0:01:58 0:00:26 0:01:32 1715k 23 238M 23 55.3M 0 0 2041k 0 0:01:59 0:00:27 0:01:32 1561k 23 238M 23 56.9M 0 0 2024k 0 0:02:00 0:00:28 0:01:32 1527k 24 238M 24 58.7M 0 0 2019k 0 0:02:01 0:00:29 0:01:32 1580k 25 238M 25 61.0M 0 0 2029k 0 0:02:00 0:00:30 0:01:30 1753k 26 238M 26 63.2M 0 0 2037k 0 0:02:00 0:00:31 0:01:29 1929k 27 238M 27 65.0M 0 0 2033k 0 0:02:00 0:00:32 0:01:28 1987k 27 238M 27 66.6M 0 0 2021k 0 0:02:01 0:00:33 0:01:28 2005k 28 238M 28 68.3M 0 0 2012k 0 0:02:01 0:00:34 0:01:27 1973k 29 238M 29 70.0M 0 0 2004k 0 0:02:02 0:00:35 0:01:27 1851k 31 238M 31 74.3M 0 0 2018k 0 0:02:01 0:00:37 0:01:24 1917k 31 238M 31 74.3M 0 0 2015k 0 0:02:01 0:00:37 0:01:24 1897k 31 238M 31 74.6M 0 0 1971k 0 0:02:04 0:00:38 0:01:26 1633k 31 238M 31 74.9M 0 0 1928k 0 0:02:06 0:00:39 0:01:27 1343k 31 238M 31 75.2M 0 0 1888k 0 0:02:09 0:00:40 0:01:29 1052k 31 238M 31 75.2M 0 0 1832k 0 0:02:13 0:00:42 0:01:31 217k 31 238M 31 75.4M 0 0 1803k 0 0:02:15 0:00:42 0:01:33 212k 31 238M 31 75.6M 0 0 1769k 0 0:02:18 0:00:43 0:01:35 198k 31 238M 31 75.8M 0 0 1733k 0 0:02:21 0:00:44 0:01:37 188k 31 238M 31 75.9M 0 0 1699k 0 0:02:24 0:00:45 0:01:39 162k 31 238M 31 76.2M 0 0 1667k 0 0:02:26 0:00:46 0:01:40 205k 31 238M 31 76.4M 0 0 1637k 0 0:02:29 0:00:47 0:01:42 215k 32 238M 32 76.6M 0 0 1608k 0 0:02:32 0:00:48 0:01:44 207k 32 238M 32 76.8M 0 0 1578k 0 0:02:35 0:00:49 0:01:46 194k 32 238M 32 76.9M 0 0 1551k 0 0:02:37 0:00:50 0:01:47 195k 32 238M 32 77.1M 0 0 1526k 0 0:02:40 0:00:51 0:01:49 198k 32 238M 32 77.4M 0 0 1502k 0 0:02:42 0:00:52 0:01:50 199k 32 238M 32 77.6M 0 0 1478k 0 0:02:45 0:00:53 0:01:52 204k 32 238M 32 77.9M 0 0 1456k 0 0:02:47 0:00:54 0:01:53 240k 32 238M 32 78.0M 0 0 1433k 0 0:02:50 0:00:55 0:01:55 234k 32 238M 32 78.2M 0 0 1410k 0 0:02:53 0:00:56 0:01:57 211k 32 238M 32 78.6M 0 0 1392k 0 0:02:55 0:00:57 0:01:58 242k 33 238M 33 79.7M 0 0 1388k 0 0:02:56 0:00:58 0:01:58 419k 34 238M 34 81.2M 0 0 1392k 0 0:02:55 0:00:59 0:01:56 677k 34 238M 34 82.8M 0 0 1395k 0 0:02:55 0:01:00 0:01:55 972k 35 238M 35 85.0M 0 0 1409k 0 0:02:53 0:01:01 0:01:52 1405k 36 238M 36 87.4M 0 0 1427k 0 0:02:51 0:01:02 0:01:49 1823k 37 238M 37 89.8M 0 0 1442k 0 0:02:49 0:01:03 0:01:46 2084k 38 238M 38 92.8M 0 0 1467k 0 0:02:46 0:01:04 0:01:42 2367k 40 238M 40 96.0M 0 0 1495k 0 0:02:43 0:01:05 0:01:38 2716k 41 238M 41 99.1M 0 0 1520k 0 0:02:40 0:01:06 0:01:34 2892k 42 238M 42 101M 0 0 1537k 0 0:02:39 0:01:07 0:01:32 2922k 43 238M 43 104M 0 0 1555k 0 0:02:37 0:01:08 0:01:29 2988k 44 238M 44 107M 0 0 1570k 0 0:02:35 0:01:09 0:01:26 2909k 46 238M 46 110M 0 0 1593k 0 0:02:33 0:01:10 0:01:23 2873k 47 238M 47 112M 0 0 1609k 0 0:02:31 0:01:11 0:01:20 2799k 48 238M 48 115M 0 0 1628k 0 0:02:30 0:01:12 0:01:18 2859k 49 238M 49 118M 0 0 1641k 0 0:02:29 0:01:13 0:01:16 2831k 50 238M 50 121M 0 0 1663k 0 0:02:27 0:01:14 0:01:13 2956k 52 238M 52 124M 0 0 1682k 0 0:02:25 0:01:15 0:01:10 2950k 53 238M 53 127M 0 0 1703k 0 0:02:23 0:01:16 0:01:07 3049k 54 238M 54 131M 0 0 1728k 0 0:02:21 0:01:17 0:01:04 3192k 56 238M 56 134M 0 0 1752k 0 0:02:19 0:01:18 0:01:01 3379k 57 238M 57 137M 0 0 1766k 0 0:02:18 0:01:19 0:00:59 3306k 58 238M 58 140M 0 0 1781k 0 0:02:17 0:01:20 0:00:57 3277k 59 238M 59 143M 0 0 1793k 0 0:02:16 0:01:21 0:00:55 3173k 61 238M 61 146M 0 0 1810k 0 0:02:15 0:01:22 0:00:53 3084k 62 238M 62 149M 0 0 1833k 0 0:02:13 0:01:23 0:00:50 3113k 64 238M 64 154M 0 0 1865k 0 0:02:11 0:01:24 0:00:47 3442k 66 238M 66 159M 0 0 1899k 0 0:02:08 0:01:25 0:00:43 3810k 68 238M 68 163M 0 0 1928k 0 0:02:06 0:01:26 0:00:40 4128k 69 238M 69 167M 0 0 1950k 0 0:02:05 0:01:27 0:00:38 4262k 71 238M 71 169M 0 0 1957k 0 0:02:05 0:01:28 0:00:37 4028k 72 238M 72 172M 0 0 1962k 0 0:02:04 0:01:29 0:00:35 3622k 73 238M 73 175M 0 0 1974k 0 0:02:03 0:01:30 0:00:33 3260k 74 238M 74 177M 0 0 1985k 0 0:02:03 0:01:31 0:00:32 2989k 75 238M 75 180M 0 0 1993k 0 0:02:02 0:01:32 0:00:30 2748k 76 238M 76 183M 0 0 2000k 0 0:02:02 0:01:33 0:00:29 2768k 77 238M 77 185M 0 0 2007k 0 0:02:01 0:01:34 0:00:27 2816k 78 238M 78 188M 0 0 2015k 0 0:02:01 0:01:35 0:00:26 2752k 80 238M 80 191M 0 0 2028k 0 0:02:00 0:01:36 0:00:24 2812k 81 238M 81 195M 0 0 2045k 0 0:01:59 0:01:37 0:00:22 3021k 83 238M 83 198M 0 0 2058k 0 0:01:58 0:01:38 0:00:20 3158k 84 238M 84 200M 0 0 2062k 0 0:01:58 0:01:39 0:00:19 3095k 84 238M 84 203M 0 0 2063k 0 0:01:58 0:01:40 0:00:18 2989k 85 238M 85 204M 0 0 2058k 0 0:01:58 0:01:41 0:00:17 2641k 86 238M 86 206M 0 0 2053k 0 0:01:59 0:01:42 0:00:17 2196k 87 238M 87 208M 0 0 2053k 0 0:01:59 0:01:43 0:00:16 1939k 88 238M 88 210M 0 0 2058k 0 0:01:58 0:01:44 0:00:14 1969k 89 238M 89 213M 0 0 2065k 0 0:01:58 0:01:45 0:00:13 2107k 90 238M 90 216M 0 0 2071k 0 0:01:58 0:01:46 0:00:12 2331k 91 238M 91 219M 0 0 2082k 0 0:01:57 0:01:47 0:00:10 2686k 93 238M 93 222M 0 0 2096k 0 0:01:56 0:01:48 0:00:08 2995k 94 238M 94 225M 0 0 2101k 0 0:01:56 0:01:49 0:00:07 3018k 95 238M 95 228M 0 0 2109k 0 0:01:55 0:01:50 0:00:05 3044k 96 238M 96 231M 0 0 2116k 0 0:01:55 0:01:51 0:00:04 3086k 97 238M 97 233M 0 0 2120k 0 0:01:55 0:01:52 0:00:03 2947k 98 238M 98 236M 0 0 2125k 0 0:01:55 0:01:53 0:00:02 2755k 100 238M 100 238M 0 0 2133k 0 0:01:54 0:01:54 --:--:-- 2850k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct -e qemu-user-riscv-upstream milkv-duo venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plct-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +qemu-riscv64: warning: disabling zfa extension because privilege spec version does not match +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi emulation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi emulation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:10:11 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:10:11 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:10:11 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp99ckkfdt ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp99ckkfdt ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp99ckkfdt +Wed Apr 10 02:10:12 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp99ckkfdt +Wed Apr 10 02:10:13 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:10:13 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_47_17.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_47_17.log new file mode 100644 index 00000000..d064fd6d --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_venv/2024-04-10-02_47_17.log @@ -0,0 +1,273 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:47:17 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp0_0z6wai ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp0_0z6wai ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp0_0z6wai ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp0_0z6wai +Wed Apr 10 02:47:29 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp0_0z6wai ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp0_0z6wai ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp0_0z6wai +Wed Apr 10 02:47:30 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp0_0z6wai ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 3 23.7M 3 938k 0 0 1140k 0 0:00:21 --:--:-- 0:00:21 1140k 11 23.7M 11 2698k 0 0 1483k 0 0:00:16 0:00:01 0:00:15 1483k 19 23.7M 19 4698k 0 0 1666k 0 0:00:14 0:00:02 0:00:12 1666k 29 23.7M 29 7210k 0 0 1887k 0 0:00:12 0:00:03 0:00:09 1887k 39 23.7M 39 9546k 0 0 1981k 0 0:00:12 0:00:04 0:00:08 1981k 51 23.7M 51 12.1M 0 0 2137k 0 0:00:11 0:00:05 0:00:06 2301k 62 23.7M 62 14.8M 0 0 2230k 0 0:00:10 0:00:06 0:00:04 2502k 74 23.7M 74 17.5M 0 0 2303k 0 0:00:10 0:00:07 0:00:03 2662k 85 23.7M 85 20.2M 0 0 2349k 0 0:00:10 0:00:08 0:00:02 2701k 92 23.7M 92 22.0M 0 0 2297k 0 0:00:10 0:00:09 0:00:01 2601k 96 23.7M 96 22.9M 0 0 2168k 0 0:00:11 0:00:10 0:00:01 2203k 98 23.7M 98 23.4M 0 0 2031k 0 0:00:11 0:00:11 --:--:-- 1761k 100 23.7M 100 23.7M 0 0 2000k 0 0:00:12 0:00:12 --:--:-- 1453k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:47:42 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:47:42 2024 - INFO - Start to run test. ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting +objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting +objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting +objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting +objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting +objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting +objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing +objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing +objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:02 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240324-PLCT-Sources-riscv64-plct-l +inux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 105k 0 0 424k 0 0:09:37 --:--:-- 0:09:37 423k 0 238M 0 1911k 0 0 1530k 0 0:02:39 0:00:01 0:02:38 1530k 1 238M 1 4119k 0 0 1834k 0 0:02:13 0:00:02 0:02:11 1834k 2 238M 2 7174k 0 0 2209k 0 0:01:50 0:00:03 0:01:47 2209k 4 238M 4 10.4M 0 0 2529k 0 0:01:36 0:00:04 0:01:32 2530k 6 238M 6 15.9M 0 0 2740k 0 0:01:29 0:00:05 0:01:24 2841k 7 238M 7 16.8M 0 0 2753k 0 0:01:28 0:00:06 0:01:22 3059k 8 238M 8 20.3M 0 0 2882k 0 0:01:24 0:00:07 0:01:17 3353k 10 238M 10 24.8M 0 0 3081k 0 0:01:19 0:00:08 0:01:11 3648k 12 238M 12 29.1M 0 0 3222k 0 0:01:15 0:00:09 0:01:06 3810k 13 238M 13 32.1M 0 0 3208k 0 0:01:16 0:00:10 0:01:06 3857k 14 238M 14 35.5M 0 0 3236k 0 0:01:15 0:00:11 0:01:04 3839k 16 238M 16 39.4M 0 0 3299k 0 0:01:14 0:00:12 0:01:02 3903k 18 238M 18 43.3M 0 0 3352k 0 0:01:12 0:00:13 0:00:59 3798k 19 238M 19 47.2M 0 0 3399k 0 0:01:11 0:00:14 0:00:57 3725k 21 238M 21 50.9M 0 0 3419k 0 0:01:11 0:00:15 0:00:56 3852k 23 238M 23 55.1M 0 0 3478k 0 0:01:10 0:00:16 0:00:54 4022k 25 238M 25 59.8M 0 0 3552k 0 0:01:08 0:00:17 0:00:51 4170k 27 238M 27 65.3M 0 0 3668k 0 0:01:06 0:00:18 0:00:48 4505k 29 238M 29 70.2M 0 0 3736k 0 0:01:05 0:00:19 0:00:46 4697k 30 238M 30 74.0M 0 0 3744k 0 0:01:05 0:00:20 0:00:45 4735k 32 238M 32 76.9M 0 0 3707k 0 0:01:06 0:00:21 0:00:45 4451k 33 238M 33 79.9M 0 0 3679k 0 0:01:06 0:00:22 0:00:44 4118k 34 238M 34 83.3M 0 0 3669k 0 0:01:06 0:00:23 0:00:43 3673k 36 238M 36 86.3M 0 0 3644k 0 0:01:07 0:00:24 0:00:43 3292k 37 238M 37 88.8M 0 0 3601k 0 0:01:07 0:00:25 0:00:42 3021k 38 238M 38 91.0M 0 0 3550k 0 0:01:08 0:00:26 0:00:42 2886k 39 238M 39 94.0M 0 0 3533k 0 0:01:09 0:00:27 0:00:42 2883k 40 238M 40 97.5M 0 0 3537k 0 0:01:09 0:00:28 0:00:41 2921k 42 238M 42 101M 0 0 3554k 0 0:01:08 0:00:29 0:00:39 3114k 43 238M 43 104M 0 0 3550k 0 0:01:08 0:00:30 0:00:38 3296k 45 238M 45 108M 0 0 3539k 0 0:01:09 0:00:31 0:00:38 3481k 46 238M 46 110M 0 0 3520k 0 0:01:09 0:00:32 0:00:37 3453k 47 238M 47 113M 0 0 3510k 0 0:01:09 0:00:33 0:00:36 3360k 48 238M 48 116M 0 0 3493k 0 0:01:10 0:00:34 0:00:36 3141k 50 238M 50 119M 0 0 3477k 0 0:01:10 0:00:35 0:00:35 3036k 51 238M 51 122M 0 0 3457k 0 0:01:10 0:00:36 0:00:34 2941k 52 238M 52 124M 0 0 3427k 0 0:01:11 0:00:37 0:00:34 2825k 53 238M 53 127M 0 0 3412k 0 0:01:11 0:00:38 0:00:33 2761k 54 238M 54 130M 0 0 3398k 0 0:01:12 0:00:39 0:00:33 2742k 55 238M 55 133M 0 0 3388k 0 0:01:12 0:00:40 0:00:32 2753k 57 238M 57 136M 0 0 3382k 0 0:01:12 0:00:41 0:00:31 2843k 58 238M 58 139M 0 0 3386k 0 0:01:12 0:00:42 0:00:30 3084k 60 238M 60 143M 0 0 3402k 0 0:01:11 0:00:43 0:00:28 3324k 61 238M 61 147M 0 0 3414k 0 0:01:11 0:00:44 0:00:27 3539k 63 238M 63 151M 0 0 3419k 0 0:01:11 0:00:45 0:00:26 3673k 64 238M 64 154M 0 0 3422k 0 0:01:11 0:00:46 0:00:25 3751k 66 238M 66 158M 0 0 3428k 0 0:01:11 0:00:47 0:00:24 3782k 68 238M 68 162M 0 0 3452k 0 0:01:10 0:00:48 0:00:22 3884k 70 238M 70 167M 0 0 3490k 0 0:01:10 0:00:49 0:00:21 4163k 72 238M 72 173M 0 0 3530k 0 0:01:09 0:00:50 0:00:19 4534k 75 238M 75 179M 0 0 3584k 0 0:01:08 0:00:51 0:00:17 5078k 77 238M 77 186M 0 0 3649k 0 0:01:07 0:00:52 0:00:15 5731k 80 238M 80 193M 0 0 3712k 0 0:01:05 0:00:53 0:00:12 6224k 83 238M 83 199M 0 0 3770k 0 0:01:04 0:00:54 0:00:10 6528k 86 238M 86 206M 0 0 3835k 0 0:01:03 0:00:55 0:00:08 6899k 89 238M 89 214M 0 0 3906k 0 0:01:02 0:00:56 0:00:06 7209k 92 238M 92 221M 0 0 3964k 0 0:01:01 0:00:57 0:00:04 7257k 95 238M 95 228M 0 0 4022k 0 0:01:00 0:00:58 0:00:02 7315k 98 238M 98 236M 0 0 4079k 0 0:00:59 0:00:59 --:--:-- 7433k 100 238M 100 238M 0 0 4099k 0 0:00:59 0:00:59 --:--:-- 7372k +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-0.20240324.0 ++ ruyi venv --toolchain gnu-plct milkv-duo test-venv ++ grep 'The virtual environment is now created.' +info: The virtual environment is now created. ++ CHECK_RESULT 0 0 0 'Check ruyi venv install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f ./test-venv/bin/ruyi-activate ']' ++ CHECK_RESULT 0 0 0 'Check ruyi venv activate file failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi venv activate file failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ oldps1= ++ source ./test-venv/bin/ruyi-activate +++ '[' ./test-venv/bin/ruyi-activate = ruyi_test_venv.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/test-venv +++ RUYI_VENV_PROMPT=test-venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi test-venv» ' +++ export PS1 ++ echo '«Ruyi test-venv» ' ++ grep test-venv +«Ruyi test-venv» ++ CHECK_RESULT 0 0 0 'Check activate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check activate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ '[' '' == '' ']' ++ CHECK_RESULT 0 0 0 'Check deactivate ruyi venv PS1 failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check deactivate ruyi venv PS1 failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ rm -rf test-venv ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:51:45 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:51:45 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:51:45 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp0_0z6wai ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0_0z6wai ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0_0z6wai +Wed Apr 10 02:52:09 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp0_0z6wai +Wed Apr 10 02:52:09 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:52:10 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_43_53.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_43_53.log new file mode 100644 index 00000000..3f8eaa52 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xdg/2024-04-10-02_43_53.log @@ -0,0 +1,644 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:43:53 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmp6x74f_z8 ++ '[' -z '' ']' ++ tmpfile=/tmp/tmp6x74f_z8 ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6x74f_z8 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmp6x74f_z8 +Wed Apr 10 02:44:54 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmp6x74f_z8 ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmp6x74f_z8 ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmp6x74f_z8 +Wed Apr 10 02:44:55 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmp6x74f_z8 ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 9 23.7M 9 2408k 0 0 3595k 0 0:00:06 --:--:-- 0:00:06 3594k 38 23.7M 38 9464k 0 0 5669k 0 0:00:04 0:00:01 0:00:03 5670k 68 23.7M 68 16.3M 0 0 6261k 0 0:00:03 0:00:02 0:00:01 6261k 95 23.7M 95 22.6M 0 0 6328k 0 0:00:03 0:00:03 --:--:-- 6329k 100 23.7M 100 23.7M 0 0 6322k 0 0:00:03 0:00:03 --:--:-- 6322k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:44:59 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:44:59 2024 - INFO - Start to run test. ++ export XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ XDG_CACHE_HOME=/home/jenkins/.cache/ruyi_mugen_test ++ export XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ XDG_DATA_HOME=/home/jenkins/.local/share/ruyi_mugen_test ++ export XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ XDG_STATE_HOME=/home/jenkins/.local/state/ruyi_mugen_test ++ mkdir -p /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ xdg_ruyi_dir=/home/jenkins/.cache/ruyi_mugen_test/ruyi ++ xdg_ruyi_data_dir=/home/jenkins/.local/share/ruyi_mugen_test/ruyi ++ xdg_ruyi_state_dir=/home/jenkins/.local/state/ruyi_mugen_test/ruyi ++ default_ruyi_dir=/home/jenkins/.cache/ruyi ++ default_ruyi_data_dir=/home/jenkins/.local/share/ruyi ++ default_ruyi_state_dir=/home/jenkins/.local/state/ruyi ++ ruyi list +List of available packages: + +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: 3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: 14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% (91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: 33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 +* board-image/uboot-revyos-milkv-meles-8g + - 1.0.0 (latest) +* board-image/uboot-revyos-milkv-meles-4g + - 1.0.0 (latest) +* board-image/revyos-milkv-meles + - 1.0.0 (latest) +* board-image/oerv-sg2042-milkv-pioneer-xfce + - 0.2309.1 (latest) +* board-image/canmv-ubuntu-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m-python + - 1.0.7 (latest) +* board-image/oerv-sg2042-milkv-pioneer-base + - 0.2309.1 (latest) +* board-image/revyos-sipeed-lpi4a + - 0.20231210.0 (latest) +* board-image/buildroot-sdk-milkv-duo256m + - 1.0.7 (latest) +* board-image/oerv-sifive-unmatched-xfce + - 0.2309.1 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-8g + - 0.20231210.0 (latest) +* board-image/uboot-revyos-sipeed-lpi4a-16g + - 0.20231210.0 (latest) +* board-image/oerv-starfive-visionfive-base + - 0.2309.1 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-16g + - 0.2309.1 (latest) +* board-image/buildroot-sdk-milkv-duo-python + - 1.0.7 (latest) +* board-image/oerv-awol-d1-xfce + - 0.2303.1 (latest) +* board-image/buildroot-sdk-milkv-duos-sd + - 1.0.9 (latest) +* board-image/freebsd-riscv64-mini-live + - 14.0.0 (latest) +* board-image/oerv-sipeed-lpi4a-headless + - 0.2309.1 (latest) +* board-image/openbsd-riscv64-live + - 7.4.0 (latest) +* board-image/oerv-sifive-unmatched-base + - 0.2309.1 (latest) +* board-image/openkylin-riscv64-sifive-unmatched + - 1.0.0 (latest) +* board-image/buildroot-sdk-milkv-duo + - 1.0.7 (latest) +* board-image/uboot-oerv-sipeed-lpi4a-8g + - 0.2309.1 (latest) +* board-image/openwrt-sifive-unmatched + - 0.2305.2 (latest) +* board-image/oerv-starfive-visionfive2-xfce + - 0.2309.1 (latest) +* board-image/oerv-sipeed-lpi4a-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-sd + - 1.0.6+3.6.1 (latest) +* board-image/canmv-debian-sdk-canaan-k230 + - 1.3.0 (latest) +* board-image/oerv-starfive-visionfive-xfce + - 0.2309.1 (latest) +* board-image/debian-desktop-sdk-milkv-mars-cm-sd + - 1.0.6+3.6.1 (latest) +* board-image/ubuntu-server-riscv64-sifive-unmatched + - 0.2310.0 (latest) +* board-image/revyos-sg2042-milkv-pioneer + - 0.20240119.0 (latest) + - 0.20231220.0 () +* board-image/oerv-awol-d1-base + - 0.2303.1 (latest) +* board-image/oerv-starfive-visionfive2-base + - 0.2309.1 (latest) +* emulator/qemu-user-riscv-xthead + - 6.1.0-ruyi.20231207+g03813c9fe8 (latest) +* emulator/qemu-user-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) + - 8.1.2-ruyi.20231121 () +* emulator/qemu-system-riscv-upstream + - 8.2.0-ruyi.20240128 (latest) +* analyzer/dynamorio-riscv + - 10.0.19748-ruyi.20240128 (latest, no binary for current host) +* toolchain/gnu-plct + - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118 +* toolchain/gnu-upstream + - 0.20231212.0 (latest) slug: gnu-upstream-20231212 + - 0.20231118.0 () slug: gnu-upstream-20231118 +* toolchain/llvm-upstream + - 17.0.5-ruyi.20231121 (latest) slug: llvm-upstream-20231121 +* toolchain/gnu-plct-rv64ilp32-elf + - 0.20240223.0-ruyi.20240224 (latest) +* toolchain/gnu-plct-xthead + - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118 +* source/ruyisdk-demo + - 0.20231114.0 (latest) +* source/coremark + - 1.0.2-pre.20230125 (prerelease, latest-prerelease) + - 1.0.1 (latest) ++ CHECK_RESULT 0 0 0 'Check ruyi empty list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi empty list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi update + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. ++ CHECK_RESULT 0 0 0 'Check ruyi update failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi update failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* ' +++ wc -l ++ pkgcnt=46 ++ CHECK_RESULT 46 0 1 'Check ruyi list failed' ++ actual_result=46 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi list failed' ++ exit_mode=0 ++ '[' -z 46 ']' ++ '[' 1 -eq 0 ']' ++ test 46x == 0x ++ return 0 ++ ruyi list ++ grep 'Package declares' ++ CHECK_RESULT 1 0 1 'Check ruyi brief list failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi brief list failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Package declares' +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 1 distfile(s): +Package declares 3 distfile(s): +Package declares 3 distfile(s): +Package declares 2 distfile(s): +Package declares 3 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): +Package declares 1 distfile(s): ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Binary artifacts' +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts +### Binary artifacts ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose artifacts failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose artifacts failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi list --verbose ++ grep 'Toolchain metadata' +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata +### Toolchain metadata ++ CHECK_RESULT 0 0 0 'Check ruyi list verbose metadata failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi list verbose metadata failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi news list +News items: + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 ++ CHECK_RESULT 0 0 0 'Check ruyi news list failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi news list failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 +++ ruyi list +++ grep -e '^* toolchain' +++ cut -d/ -f 2 ++ pkgnames='gnu-plct +gnu-upstream +llvm-upstream +gnu-plct-rv64ilp32-elf +gnu-plct-xthead' ++ for p in $pkgnames +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ s=' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ++ '[' '!' -z ' - 0.20240324.0 (latest) + - 0.20231212.0 () slug: gnu-plct-20231212 + - 0.20231118.0 () slug: gnu-plct-20231118' ']' ++ pkgname=gnu-plct ++ break ++ '[' -z gnu-plct ']' ++ ruyi install gnu-plct +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240324-PLCT-Sources-riscv64-pl +ct-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi_mugen_test/ruyi/distfiles/RuyiSDK-20240324-PLCT-Source +s-riscv64-plct-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 238M 0 1137k 0 0 2810k 0 0:01:27 --:--:-- 0:01:27 2814k 4 238M 4 10.9M 0 0 7991k 0 0:00:30 0:00:01 0:00:29 7995k 9 238M 9 21.9M 0 0 9345k 0 0:00:26 0:00:02 0:00:24 9348k 13 238M 13 33.0M 0 0 9951k 0 0:00:24 0:00:03 0:00:21 9953k 18 238M 18 43.1M 0 0 9.8M 0 0:00:24 0:00:04 0:00:20 9.8M 22 238M 22 53.5M 0 0 9.9M 0 0:00:24 0:00:05 0:00:19 10.4M 26 238M 26 64.4M 0 0 10.0M 0 0:00:23 0:00:06 0:00:17 10.6M 31 238M 31 75.5M 0 0 10.1M 0 0:00:23 0:00:07 0:00:16 10.7M 36 238M 36 86.6M 0 0 10.3M 0 0:00:23 0:00:08 0:00:15 10.7M 40 238M 40 97.7M 0 0 10.3M 0 0:00:22 0:00:09 0:00:13 10.9M 45 238M 45 108M 0 0 10.3M 0 0:00:23 0:00:10 0:00:13 10.8M 49 238M 49 119M 0 0 10.4M 0 0:00:22 0:00:11 0:00:11 10.9M 54 238M 54 130M 0 0 10.4M 0 0:00:22 0:00:12 0:00:10 10.9M 59 238M 59 141M 0 0 10.5M 0 0:00:22 0:00:13 0:00:09 10.9M 63 238M 63 151M 0 0 10.5M 0 0:00:22 0:00:14 0:00:08 10.7M 67 238M 67 161M 0 0 10.5M 0 0:00:22 0:00:15 0:00:07 10.7M 72 238M 72 172M 0 0 10.5M 0 0:00:22 0:00:16 0:00:06 10.7M 76 238M 76 183M 0 0 10.5M 0 0:00:22 0:00:17 0:00:05 10.7M 81 238M 81 194M 0 0 10.5M 0 0:00:22 0:00:18 0:00:04 10.7M 86 238M 86 205M 0 0 10.6M 0 0:00:22 0:00:19 0:00:03 10.9M 90 238M 90 216M 0 0 10.6M 0 0:00:22 0:00:20 0:00:02 10.8M 95 238M 95 227M 0 0 10.6M 0 0:00:22 0:00:21 0:00:01 10.9M 99 238M 99 238M 0 0 10.6M 0 0:00:22 0:00:22 --:--:-- 10.9M 100 238M 100 238M 0 0 10.6M 0 0:00:22 0:00:22 --:--:-- 10.9M +info: extracting RuyiSDK-20240324-PLCT-Sources-riscv64-plct-linux-gnu.tar.xz for +package gnu-plct-0.20240324.0 +info: package gnu-plct-0.20240324.0 installed to +/home/jenkins/.local/share/ruyi_mugen_test/ruyi/binaries/x86_64/gnu-plct-0.20240 +324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi install gnu-plct ++ grep 'skipping already installed package' +info: skipping already installed package gnu-plct-0.20240324.0 ++ CHECK_RESULT 0 0 0 'Check ruyi install duplicate package failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi install duplicate package failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based cache directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based cache directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default cache directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default cache directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based data directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based data directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default data directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default data directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 0 0 0 'Check ruyi create xdg based state directory failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi create xdg based state directory failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi create default state directory failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi create default state directory failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ ruyi self uninstall --purge -y +info: uninstallation consent given over CLI, proceeding +info: removing installed packages +info: removing state data +info: removing cached data +info: removing the ruyi binary +info: ruyi is uninstalled ++ CHECK_RESULT 0 0 0 'Check ruyi xdg self purge failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xdg self purge failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -d /home/jenkins/.cache/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge cache dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge cache dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/share/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge data dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge data dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ '[' -d /home/jenkins/.local/state/ruyi_mugen_test/ruyi ']' ++ CHECK_RESULT 1 0 1 'Check ruyi xdg purge state dir exists failed' ++ actual_result=1 ++ expect_result=0 ++ mode=1 ++ error_log='Check ruyi xdg purge state dir exists failed' ++ exit_mode=0 ++ '[' -z 1 ']' ++ '[' 1 -eq 0 ']' ++ test 1x == 0x ++ return 0 ++ rm -rf /home/jenkins/.cache/ruyi_mugen_test /home/jenkins/.local/share/ruyi_mugen_test /home/jenkins/.local/state/ruyi_mugen_test ++ export XDG_CACHE_HOME= ++ XDG_CACHE_HOME= ++ export XDG_DATA_HOME= ++ XDG_DATA_HOME= ++ export XDG_STATE_HOME= ++ XDG_STATE_HOME= ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:47:09 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:47:09 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:47:09 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmp6x74f_z8 ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6x74f_z8 ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6x74f_z8 +Wed Apr 10 02:47:16 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmp6x74f_z8 +Wed Apr 10 02:47:17 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:47:17 2024 - INFO - Finish environment cleanup! diff --git a/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-02_26_11.log b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-02_26_11.log new file mode 100644 index 00000000..02ae8109 --- /dev/null +++ b/20240408/0.8.1/logs/oE2309-x86_64-qemu/ruyi/ruyi_test_xthead_qemu/2024-04-10-02_26_11.log @@ -0,0 +1,330 @@ ++ source ./common/common_lib.sh +++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib.sh ++++ python3 --version ++++ '[' 0 -eq 0 ']' ++++ source /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/common_lib_python.sh ++ main +++ type -t post_test ++ '[' -n function ']' ++ trap post_test EXIT INT HUP TERM +++ type -t config_params ++ '[' -n '' ']' +++ type -t pre_test ++ '[' -n function ']' ++ pre_test ++ LOG_INFO 'Start environmental preparation.' ++ message='Start environmental preparation.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start environmental preparation.' +Wed Apr 10 02:26:11 2024 - INFO - Start environmental preparation. ++ install_ruyi ++ DNF_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z '' ']' ++ tmpfile= +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile '' ++ tmpfile2=/tmp/tmpimy8mtoa ++ '[' -z '' ']' ++ tmpfile=/tmp/tmpimy8mtoa ++ APT_INSTALL 'curl git tar bzip2 xz-utils zstd unzip' ++ pkgs='curl git tar bzip2 xz-utils zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpimy8mtoa ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py install --pkgs 'curl git tar bzip2 xz-utils zstd unzip' --node 1 --tempfile /tmp/tmpimy8mtoa +Wed Apr 10 02:26:37 2024 - INFO - unsupported package manager: apt-get ++ tmpfile2= ++ '[' -z /tmp/tmpimy8mtoa ']' ++ PACMAN_INSTALL 'curl git tar bzip2 xz zstd unzip' ++ pkgs='curl git tar bzip2 xz zstd unzip' ++ node=1 ++ '[' -z /tmp/tmpimy8mtoa ']' +++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py install --pkgs 'curl git tar bzip2 xz zstd unzip' --node 1 --tempfile /tmp/tmpimy8mtoa +Wed Apr 10 02:26:37 2024 - INFO - unsupported package manager: pacman ++ tmpfile2= ++ '[' -z /tmp/tmpimy8mtoa ']' ++ export_ruyi_link ++ export_release_ruyi_link ++ version=0.8.1 ++ arch=amd64 +++ uname -m ++ local larch=x86_64 ++ '[' x86_64 == riscv64 ']' ++ '[' x86_64 == aarch64 ']' ++ ruyi_link=https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ ruyi_curl ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 ++ local trys=0 ++ true ++ '[' 0 -ge 20 ']' ++ '[' -f ruyi ']' ++ curl -L -o ruyi https://mirror.iscas.ac.cn/ruyisdk/ruyi/releases/0.8.1/ruyi.amd64 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 6 23.7M 6 1562k 0 0 1413k 0 0:00:17 0:00:01 0:00:16 1413k 14 23.7M 14 3498k 0 0 1666k 0 0:00:14 0:00:02 0:00:12 1666k 22 23.7M 22 5482k 0 0 1768k 0 0:00:13 0:00:03 0:00:10 1768k 32 23.7M 32 7882k 0 0 1922k 0 0:00:12 0:00:04 0:00:08 1922k 42 23.7M 42 10.1M 0 0 2035k 0 0:00:11 0:00:05 0:00:06 2083k 55 23.7M 55 13.2M 0 0 2217k 0 0:00:10 0:00:06 0:00:04 2395k 67 23.7M 67 16.1M 0 0 2327k 0 0:00:10 0:00:07 0:00:03 2604k 81 23.7M 81 19.3M 0 0 2439k 0 0:00:09 0:00:08 0:00:01 2855k 92 23.7M 92 22.0M 0 0 2478k 0 0:00:09 0:00:09 --:--:-- 2934k 100 23.7M 100 23.7M 0 0 2524k 0 0:00:09 0:00:09 --:--:-- 3075k ++ '[' 0 = 0 ']' ++ break ++ chmod +x ruyi +++ realpath ruyi ++ sudo ln -s /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/ruyi /usr/bin/ruyi ++ LOG_INFO 'End of environmental preparation!' ++ message='End of environmental preparation!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of environmental preparation!' +Wed Apr 10 02:26:47 2024 - INFO - End of environmental preparation! +++ type -t run_test ++ '[' -n function ']' ++ run_test ++ LOG_INFO 'Start to run test.' ++ message='Start to run test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Start to run test.' +Wed Apr 10 02:26:47 2024 - INFO - Start to run test. ++ mkdir qemu_test ++ cd qemu_test ++ ruyi update +Enumerating objects: 738, done. +Counting objects: 0% (1/738)Counting objects: 1% (8/738)Counting objects: 2% (15/738)Counting objects: +3% (23/738)Counting objects: 4% (30/738)Counting objects: 5% (37/738)Counting objects: 6% (45/738)Counting objects: 7% (52/738)Counting objects: 8% (60/738)Counting objects: 9% (67/738)Counting objects: 10% (74/738)Counting objects: 11% (82/738)Counting objects: 12% (89/738)Counting objects: 13% (96/738)Counting objects: +14% (104/738)Counting objects: 15% (111/738)Counting objects: 16% (119/738)Counting objects: 17% (126/738)Counting objects: 18% (133/738)Counting objects: 19% (141/738)Counting objects: 20% (148/738)Counting objects: 21% (155/738)Counting objects: 22% (163/738)Counting objects: 23% (170/738)Counting objects: 24% (178/738)Counting objects: 25% (185/738)Counting +objects: 26% (192/738)Counting objects: 27% (200/738)Counting objects: 28% (207/738)Counting +objects: 29% (215/738)Counting objects: 30% (222/738)Counting objects: 31% (229/738)Counting objects: 32% (237/738)Counting objects: 33% (244/738)Counting objects: 34% (251/738)Counting +objects: 35% (259/738)Counting objects: 36% (266/738)Counting objects: 37% (274/738)Counting objects: 38% (281/738)Counting objects: 39% (288/738)Counting +objects: 40% (296/738)Counting objects: 41% (303/738)Counting objects: 42% (310/738)Counting +objects: 43% (318/738)Counting objects: 44% (325/738)Counting objects: 45% (333/738)Counting objects: 46% (340/738)Counting objects: 47% (347/738)Counting +objects: 48% (355/738)Counting objects: 49% (362/738)Counting objects: 50% (369/738)Counting objects: 51% (377/738)Counting objects: 52% (384/738)Counting +objects: 53% (392/738)Counting objects: 54% (399/738)Counting objects: 55% (406/738)Counting objects: 56% (414/738)Counting objects: 57% (421/738)Counting objects: 58% (429/738)Counting objects: 59% (436/738)Counting objects: 60% (443/738)Counting objects: 61% (451/738)Counting objects: 62% (458/738)Counting +objects: 63% (465/738)Counting objects: 64% (473/738)Counting objects: 65% (480/738)Counting objects: 66% (488/738)Counting objects: 67% (495/738)Counting objects: 68% (502/738)Counting objects: 69% (510/738)Counting objects: 70% (517/738)Counting +objects: 71% (524/738)Counting objects: 72% (532/738)Counting objects: 73% (539/738)Counting objects: 74% (547/738)Counting objects: 75% (554/738)Counting objects: 76% (561/738)Counting objects: 77% (569/738)Counting objects: 78% (576/738)Counting objects: 79% (584/738)Counting objects: 80% (591/738)Counting objects: 81% (598/738)Counting objects: 82% (606/738)Counting objects: 83% (613/738)Counting objects: 84% (620/738)Counting objects: 85% (628/738)Counting objects: 86% (635/738)Counting objects: 87% (643/738)Counting objects: 88% (650/738)Counting objects: 89% (657/738)Counting objects: 90% (665/738)Counting objects: 91% (672/738)Counting objects: 92% (679/738)Counting objects: 93% (687/738)Counting objects: 94% (694/738)Counting objects: 95% (702/738)Counting objects: 96% (709/738)Counting objects: 97% (716/738)Counting objects: 98% (724/738)Counting objects: 99% (731/738)Counting objects: 100% (738/738)Counting objects: 100% (738/738), done. +Compressing objects: 0% (1/312)Compressing objects: 1% (4/312)Compressing objects: 2% (7/312)Compressing objects: 3% (10/312)Compressing objects: 4% (13/312)Compressing objects: 5% (16/312)Compressing objects: 6% (19/312)Compressing objects: 7% (22/312)Compressing objects: 8% (25/312)Compressing objects: 9% (29/312)Compressing objects: 10% (32/312)Compressing objects: 11% (35/312)Compressing objects: 12% (38/312)Compressing objects: 13% (41/312)Compressing objects: 14% (44/312)Compressing objects: 15% (47/312)Compressing objects: 16% (50/312)Compressing objects: 17% (54/312)Compressing objects: 18% (57/312)Compressing objects: 19% (60/312)Compressing objects: 20% (63/312)Compressing objects: 21% (66/312)Compressing objects: 22% (69/312)Compressing objects: 23% (72/312)Compressing objects: 24% (75/312)Compressing objects: 25% (78/312)Compressing +objects: 26% (82/312)Compressing objects: 27% (85/312)Compressing objects: 28% (88/312)Compressing objects: 29% +(91/312)Compressing objects: 30% (94/312)Compressing objects: 31% (97/312)Compressing objects: 32% (100/312)Compressing objects: +33% (103/312)Compressing objects: 34% (107/312)Compressing objects: 35% (110/312)Compressing objects: 36% (113/312)Compressing objects: 37% (116/312)Compressing objects: 38% (119/312)Compressing objects: 39% (122/312)Compressing objects: 40% (125/312)Compressing objects: 41% (128/312)Compressing objects: 42% (132/312)Compressing objects: 43% (135/312)Compressing objects: 44% (138/312)Compressing objects: 45% (141/312)Compressing objects: 46% (144/312)Compressing objects: 47% (147/312)Compressing objects: 48% (150/312)Compressing objects: 49% (153/312)Compressing objects: 50% (156/312)Compressing objects: 51% (160/312)Compressing objects: 52% (163/312)Compressing objects: 53% (166/312)Compressing objects: 54% (169/312)Compressing objects: 55% (172/312)Compressing objects: 56% (175/312)Compressing objects: 57% (178/312)Compressing objects: 58% (181/312)Compressing objects: 59% (185/312)Compressing objects: 60% (188/312)Compressing objects: 61% (191/312)Compressing objects: 62% (194/312)Compressing objects: 63% (197/312)Compressing objects: 64% (200/312)Compressing objects: 65% (203/312)Compressing objects: 66% (206/312)Compressing objects: 67% (210/312)Compressing objects: 68% (213/312)Compressing objects: 69% (216/312)Compressing objects: 70% (219/312)Compressing objects: 71% (222/312)Compressing objects: 72% (225/312)Compressing objects: 73% (228/312)Compressing objects: 74% (231/312)Compressing objects: 75% (234/312)Compressing objects: 76% (238/312)Compressing objects: 77% (241/312)Compressing objects: 78% (244/312)Compressing objects: 79% (247/312)Compressing objects: 80% (250/312)Compressing objects: 81% (253/312)Compressing objects: 82% (256/312)Compressing objects: 83% (259/312)Compressing objects: 84% (263/312)Compressing objects: 85% (266/312)Compressing objects: 86% (269/312)Compressing objects: 87% (272/312)Compressing objects: 88% (275/312)Compressing objects: 89% (278/312)Compressing objects: 90% (281/312)Compressing objects: 91% (284/312)Compressing objects: 92% (288/312)Compressing objects: 93% (291/312)Compressing objects: 94% (294/312)Compressing objects: 95% (297/312)Compressing objects: 96% (300/312)Compressing objects: 97% (303/312)Compressing objects: 98% (306/312)Compressing objects: 99% (309/312)Compressing objects: 100% (312/312)Compressing objects: 100% (312/312), done. +Total 738 (delta 344), reused 685 (delta 291), pack-reused 0 +transferring objects ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0% 0:00:00 +processing deltas ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 + + +There are 5 new news item(s): + + No. ID Title +──────────────────────────────────────────────────────────────────────────────── + 1 2024-01-14-ruyi-news RuyiSDK 支持展示新闻了 + 2 2024-01-15-new-board-images 新增板卡支持 (2024-01-15) + 3 2024-01-29-new-board-images 新增板卡支持 (2024-01-29) + 4 2024-01-29-ruyi-0.4 RuyiSDK 0.4 版本更新说明 + 5 2024-02-26-gnu-plct-rv64ilp32-elf RV64ILP32 裸机工具链与 profile + 现已可用 + +You can read them with ruyi news read. +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* toolchain\/gnu-plct-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ local 'pe= - 2.8.0-ruyi.20240222 (latest) + - 0.20231212.0 () slug: gnu-plct-xthead-20231212 + - 0.20231118.0 () slug: gnu-plct-xthead-20231118' ++ '[' -z - 2.8.0-ruyi.20240222 '(latest)' - 0.20231212.0 '()' slug: gnu-plct-xthead-20231212 - 0.20231118.0 '()' slug: gnu-plct-xthead-20231118 ']' +ruyi_test_xthead_qemu.sh: line 36: [: too many arguments ++ local qemu_pkg= ++ local qemu_cmd= +++ ruyi list +++ awk '/\* / {if (f==1) f=2} /./ {if (f==1) {print $0}} /\* emulator\/qemu-user-riscv-xthead/ {if (f==0) f=1}' +++ grep -e '^ -' +++ grep -v 'no binary for current host' ++ pe=' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ++ '[' -n ' - 6.1.0-ruyi.20231207+g03813c9fe8 (latest)' ']' ++ qemu_pkg=qemu-user-riscv-xthead ++ qemu_cmd='-e qemu-user-riscv-xthead' ++ ruyi install gnu-plct-xthead qemu-user-riscv-xthead +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/RuyiSDK-20240222-T-Head-Sources-T-Head-2 +.8.0-riscv64-plctxthead-linux-gnu.tar.xz to +/home/jenkins/.cache/ruyi/distfiles/RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0 +-riscv64-plctxthead-linux-gnu.tar.xz + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 308M 0 1701k 0 0 1811k 0 0:02:54 --:--:-- 0:02:54 1812k 1 308M 1 3717k 0 0 1915k 0 0:02:44 0:00:01 0:02:43 1915k 1 308M 1 5590k 0 0 1901k 0 0:02:46 0:00:02 0:02:44 1902k 2 308M 2 7766k 0 0 1969k 0 0:02:40 0:00:03 0:02:37 1969k 3 308M 3 9637k 0 0 1951k 0 0:02:41 0:00:04 0:02:37 1951k 3 308M 3 11.4M 0 0 1970k 0 0:02:40 0:00:05 0:02:35 2000k 4 308M 4 13.2M 0 0 1946k 0 0:02:42 0:00:06 0:02:36 1958k 4 308M 4 15.0M 0 0 1941k 0 0:02:42 0:00:07 0:02:35 1964k 5 308M 5 16.5M 0 0 1890k 0 0:02:47 0:00:08 0:02:39 1827k 5 308M 5 17.1M 0 0 1771k 0 0:02:58 0:00:09 0:02:49 1593k 5 308M 5 17.3M 0 0 1623k 0 0:03:14 0:00:10 0:03:04 1213k 5 308M 5 17.6M 0 0 1509k 0 0:03:29 0:00:11 0:03:18 904k 5 308M 5 17.7M 0 0 1403k 0 0:03:45 0:00:12 0:03:33 551k 5 308M 5 17.8M 0 0 1312k 0 0:04:00 0:00:13 0:03:47 283k 5 308M 5 18.2M 0 0 1247k 0 0:04:13 0:00:14 0:03:59 207k 5 308M 5 18.4M 0 0 1184k 0 0:04:26 0:00:15 0:04:11 218k 6 308M 6 18.6M 0 0 1128k 0 0:04:39 0:00:16 0:04:23 211k 6 308M 6 18.8M 0 0 1076k 0 0:04:53 0:00:17 0:04:36 230k 6 308M 6 19.1M 0 0 1035k 0 0:05:05 0:00:18 0:04:47 261k 6 308M 6 19.4M 0 0 996k 0 0:05:16 0:00:19 0:04:57 246k 6 308M 6 19.7M 0 0 965k 0 0:05:26 0:00:20 0:05:06 268k 6 308M 6 20.0M 0 0 935k 0 0:05:37 0:00:21 0:05:16 284k 6 308M 6 20.3M 0 0 907k 0 0:05:47 0:00:22 0:05:25 300k 6 308M 6 20.5M 0 0 877k 0 0:05:59 0:00:23 0:05:36 278k 6 308M 6 21.0M 0 0 865k 0 0:06:04 0:00:24 0:05:40 342k 7 308M 7 21.5M 0 0 852k 0 0:06:10 0:00:25 0:05:45 377k 7 308M 7 21.8M 0 0 830k 0 0:06:20 0:00:26 0:05:54 370k 7 308M 7 22.1M 0 0 810k 0 0:06:29 0:00:27 0:06:02 369k 7 308M 7 22.3M 0 0 791k 0 0:06:38 0:00:28 0:06:10 378k 7 308M 7 22.7M 0 0 778k 0 0:06:45 0:00:29 0:06:16 342k 7 308M 7 23.8M 0 0 788k 0 0:06:40 0:00:30 0:06:10 458k 8 308M 8 25.7M 0 0 826k 0 0:06:22 0:00:31 0:05:51 805k 9 308M 9 28.2M 0 0 878k 0 0:05:59 0:00:32 0:05:27 1264k 9 308M 9 30.7M 0 0 927k 0 0:05:40 0:00:33 0:05:07 1715k 10 308M 10 31.6M 0 0 926k 0 0:05:40 0:00:34 0:05:06 1815k 10 308M 10 32.8M 0 0 934k 0 0:05:37 0:00:35 0:05:02 1834k 11 308M 11 34.8M 0 0 964k 0 0:05:27 0:00:36 0:04:51 1849k 12 308M 12 37.7M 0 0 1017k 0 0:05:10 0:00:37 0:04:33 1931k 13 308M 13 40.5M 0 0 1066k 0 0:04:55 0:00:38 0:04:17 2011k 13 308M 13 42.9M 0 0 1100k 0 0:04:46 0:00:39 0:04:07 2315k 14 308M 14 44.4M 0 0 1112k 0 0:04:43 0:00:40 0:04:03 2391k 15 308M 15 46.5M 0 0 1135k 0 0:04:37 0:00:41 0:03:56 2400k 15 308M 15 48.5M 0 0 1157k 0 0:04:32 0:00:42 0:03:50 2218k 16 308M 16 50.8M 0 0 1183k 0 0:04:26 0:00:43 0:03:43 2096k 17 308M 17 53.9M 0 0 1229k 0 0:04:16 0:00:44 0:03:32 2262k 18 308M 18 57.6M 0 0 1284k 0 0:04:05 0:00:45 0:03:20 2692k 19 308M 19 60.4M 0 0 1319k 0 0:03:59 0:00:46 0:03:13 2860k 20 308M 20 63.2M 0 0 1350k 0 0:03:53 0:00:47 0:03:06 3008k 21 308M 21 65.8M 0 0 1377k 0 0:03:49 0:00:48 0:03:01 3075k 22 308M 22 68.0M 0 0 1395k 0 0:03:46 0:00:49 0:02:57 2883k 22 308M 22 69.6M 0 0 1400k 0 0:03:45 0:00:50 0:02:55 2466k 23 308M 23 71.6M 0 0 1413k 0 0:03:43 0:00:51 0:02:52 2291k 23 308M 23 73.5M 0 0 1422k 0 0:03:41 0:00:52 0:02:49 2114k 24 308M 24 75.5M 0 0 1434k 0 0:03:40 0:00:53 0:02:47 1999k 25 308M 25 78.4M 0 0 1461k 0 0:03:36 0:00:54 0:02:42 2122k 26 308M 26 81.8M 0 0 1498k 0 0:03:30 0:00:55 0:02:35 2500k 27 308M 27 85.8M 0 0 1543k 0 0:03:24 0:00:56 0:02:28 2899k 29 308M 29 90.3M 0 0 1596k 0 0:03:17 0:00:57 0:02:20 3440k 30 308M 30 94.5M 0 0 1643k 0 0:03:12 0:00:58 0:02:14 3888k 31 308M 31 98.2M 0 0 1678k 0 0:03:08 0:00:59 0:02:09 4059k 32 308M 32 101M 0 0 1702k 0 0:03:05 0:01:00 0:02:05 3987k 33 308M 33 104M 0 0 1731k 0 0:03:02 0:01:01 0:02:01 3868k 35 308M 35 108M 0 0 1771k 0 0:02:58 0:01:02 0:01:56 3798k 36 308M 36 113M 0 0 1815k 0 0:02:53 0:01:03 0:01:50 3846k 38 308M 38 117M 0 0 1850k 0 0:02:50 0:01:04 0:01:46 3911k 39 308M 39 122M 0 0 1899k 0 0:02:46 0:01:05 0:01:41 4291k 41 308M 41 127M 0 0 1943k 0 0:02:42 0:01:06 0:01:36 4569k 42 308M 42 131M 0 0 1983k 0 0:02:39 0:01:07 0:01:32 4646k 43 308M 43 135M 0 0 2006k 0 0:02:37 0:01:08 0:01:29 4448k 44 308M 44 138M 0 0 2024k 0 0:02:35 0:01:09 0:01:26 4290k 45 308M 45 141M 0 0 2041k 0 0:02:34 0:01:10 0:01:24 3926k 46 308M 46 143M 0 0 2049k 0 0:02:34 0:01:11 0:01:23 3465k 47 308M 47 146M 0 0 2052k 0 0:02:33 0:01:12 0:01:21 2988k 48 308M 48 148M 0 0 2056k 0 0:02:33 0:01:13 0:01:20 2755k 49 308M 49 151M 0 0 2072k 0 0:02:32 0:01:14 0:01:18 2742k 50 308M 50 155M 0 0 2096k 0 0:02:30 0:01:15 0:01:15 2867k 51 308M 51 160M 0 0 2131k 0 0:02:28 0:01:16 0:01:12 3316k 53 308M 53 165M 0 0 2172k 0 0:02:25 0:01:17 0:01:08 3927k 54 308M 54 169M 0 0 2192k 0 0:02:24 0:01:18 0:01:06 4195k 56 308M 56 173M 0 0 2217k 0 0:02:22 0:01:19 0:01:03 4396k 57 308M 57 177M 0 0 2248k 0 0:02:20 0:01:20 0:01:00 4563k 59 308M 59 181M 0 0 2273k 0 0:02:18 0:01:21 0:00:57 4458k 60 308M 60 185M 0 0 2290k 0 0:02:17 0:01:22 0:00:55 4133k 61 308M 61 188M 0 0 2302k 0 0:02:17 0:01:23 0:00:54 4044k 62 308M 62 191M 0 0 2310k 0 0:02:16 0:01:24 0:00:52 3782k 63 308M 63 195M 0 0 2323k 0 0:02:15 0:01:25 0:00:50 3539k 64 308M 64 198M 0 0 2336k 0 0:02:15 0:01:26 0:00:49 3366k 65 308M 65 201M 0 0 2349k 0 0:02:14 0:01:27 0:00:47 3326k 66 308M 66 205M 0 0 2361k 0 0:02:13 0:01:28 0:00:45 3344k 67 308M 67 208M 0 0 2372k 0 0:02:13 0:01:29 0:00:44 3436k 68 308M 68 211M 0 0 2386k 0 0:02:12 0:01:30 0:00:42 3468k 69 308M 69 215M 0 0 2394k 0 0:02:11 0:01:31 0:00:40 3408k 70 308M 70 217M 0 0 2398k 0 0:02:11 0:01:32 0:00:39 3264k 71 308M 71 220M 0 0 2408k 0 0:02:11 0:01:33 0:00:38 3251k 72 308M 72 224M 0 0 2425k 0 0:02:10 0:01:34 0:00:36 3366k 74 308M 74 228M 0 0 2440k 0 0:02:09 0:01:35 0:00:34 3414k 75 308M 75 232M 0 0 2455k 0 0:02:08 0:01:36 0:00:32 3580k 76 308M 76 235M 0 0 2466k 0 0:02:08 0:01:37 0:00:31 3721k 77 308M 77 239M 0 0 2476k 0 0:02:07 0:01:38 0:00:29 3752k 78 308M 78 242M 0 0 2484k 0 0:02:07 0:01:39 0:00:28 3606k 79 308M 79 245M 0 0 2486k 0 0:02:06 0:01:40 0:00:26 3367k 80 308M 80 247M 0 0 2488k 0 0:02:06 0:01:41 0:00:25 3129k 81 308M 81 250M 0 0 2488k 0 0:02:06 0:01:42 0:00:24 2921k 82 308M 82 252M 0 0 2491k 0 0:02:06 0:01:43 0:00:23 2778k 83 308M 83 256M 0 0 2500k 0 0:02:06 0:01:44 0:00:22 2816k 84 308M 84 259M 0 0 2508k 0 0:02:05 0:01:45 0:00:20 2952k 85 308M 85 263M 0 0 2525k 0 0:02:05 0:01:46 0:00:19 3265k 87 308M 87 268M 0 0 2550k 0 0:02:03 0:01:47 0:00:16 3823k 89 308M 89 274M 0 0 2583k 0 0:02:02 0:01:48 0:00:14 4505k 91 308M 91 281M 0 0 2622k 0 0:02:00 0:01:49 0:00:11 5195k 93 308M 93 289M 0 0 2670k 0 0:01:58 0:01:50 0:00:08 6112k 96 308M 96 297M 0 0 2725k 0 0:01:55 0:01:51 0:00:04 7017k 99 308M 99 307M 0 0 2788k 0 0:01:53 0:01:52 0:00:01 7923k 100 308M 100 308M 0 0 2793k 0 0:01:53 0:01:53 --:--:-- 8401k +info: extracting +RuyiSDK-20240222-T-Head-Sources-T-Head-2.8.0-riscv64-plctxthead-linux-gnu.tar.xz +for package gnu-plct-xthead-2.8.0-ruyi.20240222 +info: package gnu-plct-xthead-2.8.0-ruyi.20240222 installed to +/home/jenkins/.local/share/ruyi/binaries/x86_64/gnu-plct-xthead-2.8.0-ruyi.20240 +222 +info: downloading +https://mirror.iscas.ac.cn/ruyisdk/dist/qemu-user-riscv-xthead-6.1.0.ruyi-202312 +07.amd64.tar.zst to +/home/jenkins/.cache/ruyi/distfiles/qemu-user-riscv-xthead-6.1.0.ruyi-20231207.a +md64.tar.zst + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 14 3577k 14 519k 0 0 1233k 0 0:00:02 --:--:-- 0:00:02 1233k 78 3577k 78 2807k 0 0 2011k 0 0:00:01 0:00:01 --:--:-- 2012k 100 3577k 100 3577k 0 0 1937k 0 0:00:01 0:00:01 --:--:-- 1936k +info: extracting qemu-user-riscv-xthead-6.1.0.ruyi-20231207.amd64.tar.zst for +package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 +info: package qemu-user-riscv-xthead-6.1.0-ruyi.20231207+g03813c9fe8 installed +to +/home/jenkins/.local/share/ruyi/binaries/x86_64/qemu-user-riscv-xthead-6.1.0-ruy +i.20231207+g03813c9fe8 ++ CHECK_RESULT 0 0 0 'Check ruyi xthead toolchain install failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead toolchain install failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ ruyi venv -t gnu-plct-xthead -e qemu-user-riscv-xthead sipeed-lpi4a venv +info: Creating a Ruyi virtual environment at venv... +info: The virtual environment is now created. + +You may activate it by sourcing the appropriate activation script in the +bin directory, and deactivate by invoking `ruyi-deactivate`. + +A fresh sysroot/prefix is also provisioned in the virtual environment. +It is available at the following path: + + /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi +/qemu_test/venv/sysroot + +The virtual environment also comes with ready-made CMake toolchain file +and Meson cross file. Check the virtual environment root for those; +comments in the files contain usage instructions. + ++ CHECK_RESULT 0 0 0 'Check ruyi xthead venv creation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi xthead venv creation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ . venv/bin/ruyi-activate +++ '[' venv/bin/ruyi-activate = ruyi_test_xthead_qemu.sh ']' +++ ruyi-deactivate nondestructive +++ '[' -z '' ']' +++ hash -r +++ '[' -z '' ']' +++ unset RUYI_VENV +++ unset RUYI_VENV_PROMPT +++ '[' '!' nondestructive = nondestructive ']' +++ RUYI_VENV=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ export RUYI_VENV +++ _RUYI_OLD_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ PATH=/home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin +++ export PATH +++ hash -r ++++ basename /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/testcases/cli-test/ruyi/qemu_test/venv +++ RUYI_VENV_PROMPT=venv +++ export RUYI_VENV_PROMPT +++ '[' -z '' ']' +++ _RUYI_OLD_PS1= +++ PS1='«Ruyi venv» ' +++ export PS1 ++ cat ++ riscv64-plctxthead-linux-gnu-gcc hello_ruyi.c -o hello_ruyi.o ++ CHECK_RESULT 0 0 0 'Check ruyi compilation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi compilation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -n qemu-user-riscv-xthead ']' ++ ruyi-qemu ./hello_ruyi.o ++ grep 'hello, ruyi' +hello, ruyi ++ CHECK_RESULT 0 0 0 'Check ruyi emulation failed' ++ actual_result=0 ++ expect_result=0 ++ mode=0 ++ error_log='Check ruyi emulation failed' ++ exit_mode=0 ++ '[' -z 0 ']' ++ '[' 0 -eq 0 ']' ++ test 0x '!=' 0x ++ return 0 ++ '[' -f /etc/revyos-release ']' ++ ruyi-deactivate ++ '[' -z _ ']' ++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin ++ export PATH ++ unset _RUYI_OLD_PATH ++ hash -r ++ '[' -z _ ']' ++ PS1= ++ export PS1 ++ unset _RUYI_OLD_PS1 ++ unset RUYI_VENV ++ unset RUYI_VENV_PROMPT ++ '[' '!' '' = nondestructive ']' ++ unset -f ruyi-deactivate ++ cd .. ++ rm -rf qemu_test ++ LOG_INFO 'End of the test.' ++ message='End of the test.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'End of the test.' +Wed Apr 10 02:32:00 2024 - INFO - End of the test. ++ CASE_RESULT 0 ++ case_re=0 ++ test -z '' ++ test 0 -eq 0 ++ LOG_INFO 'succeed to execute the case.' ++ message='succeed to execute the case.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'succeed to execute the case.' +Wed Apr 10 02:32:00 2024 - INFO - succeed to execute the case. ++ exec_result= ++ exit 0 ++ post_test ++ LOG_INFO 'start environment cleanup.' ++ message='start environment cleanup.' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'start environment cleanup.' +Wed Apr 10 02:32:00 2024 - INFO - start environment cleanup. ++ remove_ruyi ++ PKG_REMOVE ++ node=1 ++ pkg_list= ++ mode=0 ++ [[ -z /tmp/tmpimy8mtoa ]] ++ '[' 0 -ne 0 ']' ++ '[' 1 == 0 ']' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/rpm_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpimy8mtoa ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/deb_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpimy8mtoa +Wed Apr 10 02:32:48 2024 - INFO - unsupported package manager: apt-get +(0, None) ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/archpkg_manage.py remove --node 1 --pkgs '' --tempfile /tmp/tmpimy8mtoa +Wed Apr 10 02:32:48 2024 - INFO - unsupported package manager: pacman +(0, None) ++ '[' 0 -ne 0 ']' ++ remove_ruyi_data +++ get_ruyi_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.cache/ +++ echo /home/jenkins/.cache//ruyi +++ get_ruyi_data_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/share +++ echo /home/jenkins/.local/share/ruyi +++ get_ruyi_state_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.local/state +++ echo /home/jenkins/.local/state/ruyi +++ get_ruyi_config_dir +++ ruyibase= +++ '[' -z '' ']' +++ ruyibase=/home/jenkins/.config +++ echo /home/jenkins/.config/ruyi ++ rm -rf /home/jenkins/.cache//ruyi /home/jenkins/.local/share/ruyi /home/jenkins/.local/state/ruyi /home/jenkins/.config/ruyi ++ rm -f ruyi ++ sudo rm -f /usr/bin/ruyi ++ export RUYI_DEBUG= ++ RUYI_DEBUG= ++ LOG_INFO 'Finish environment cleanup!' ++ message='Finish environment cleanup!' ++ python3 /home/jenkins/workspace/workspace/ruyi-mugen_ruyisdk/libs/locallibs/mugen_log.py --level info --message 'Finish environment cleanup!' +Wed Apr 10 02:32:48 2024 - INFO - Finish environment cleanup! -- Gitee From 2e5ba5a5fab474cf64865cba04986c6b3f501340 Mon Sep 17 00:00:00 2001 From: weilinfox Date: Thu, 11 Apr 2024 15:11:32 +0800 Subject: [PATCH 3/4] Add jenkins logs and video Signed-off-by: weilinfox --- 20240408/logs/jenkins/0.8.0_test.mp4 | Bin 0 -> 6223270 bytes 20240408/logs/jenkins/94.log | 3257 ++++++++++++++++++++++++ 20240408/logs/jenkins/98.log | 3414 ++++++++++++++++++++++++++ 3 files changed, 6671 insertions(+) create mode 100644 20240408/logs/jenkins/0.8.0_test.mp4 create mode 100644 20240408/logs/jenkins/94.log create mode 100644 20240408/logs/jenkins/98.log diff --git a/20240408/logs/jenkins/0.8.0_test.mp4 b/20240408/logs/jenkins/0.8.0_test.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..402d0e780c066e66f727b3caa10e704a0893ec51 GIT binary patch literal 6223270 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ëMaR;TsD86E&w$gj20?tMxvXmAlPr>@a`oGB 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�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 +a0jq%OW5TJfGu8z-u)cX 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

++L6KL>2_7Xh%1;UJH@t8`V3{wyf> zmm^1gbtoIpwY8+R9<6>cDLU{F$pWO0-P7BD2}P z4IKbPl@XUeV>LD$Bw@Duyb%jN;)ihQM{DFd2~8YOBBq|qWEI

+zhXpDWF=3h0jw6C;-%tx;{+ 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 z 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

15hw$-l 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