{"id":19893780,"url":"https://github.com/255doesnotexist/boardtest","last_synced_at":"2026-02-16T13:33:51.725Z","repository":{"id":245577268,"uuid":"817659167","full_name":"255doesnotexist/boardtest","owner":"255doesnotexist","description":"[WIP] A simple test framework for SBCs.","archived":false,"fork":false,"pushed_at":"2024-11-11T09:06:48.000Z","size":103,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-02T20:34:25.891Z","etag":null,"topics":["riscv","sbc","serial","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/255doesnotexist.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-20T07:30:24.000Z","updated_at":"2024-11-11T09:06:52.000Z","dependencies_parsed_at":"2024-08-19T13:53:33.064Z","dependency_job_id":"6e9b0e9a-0d94-44db-a6fc-b7f72c31c840","html_url":"https://github.com/255doesnotexist/boardtest","commit_stats":null,"previous_names":["255doesnotexist/boardtest"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/255doesnotexist/boardtest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/255doesnotexist%2Fboardtest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/255doesnotexist%2Fboardtest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/255doesnotexist%2Fboardtest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/255doesnotexist%2Fboardtest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/255doesnotexist","download_url":"https://codeload.github.com/255doesnotexist/boardtest/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/255doesnotexist%2Fboardtest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29509162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["riscv","sbc","serial","testing"],"created_at":"2024-11-12T18:31:03.515Z","updated_at":"2026-02-16T13:33:51.709Z","avatar_url":"https://github.com/255doesnotexist.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boardtest\n\n## Run\n\nExample usage command\n\n```sh\nsudo python main.py --help\n```\n\n```sh\nusage: main.py [-h] [-f] [--no-flash] [-t] [--no-test]\n               [-s] [--no-stdout-log] [-b BOARD_CONFIG]\n               [-S SERIAL]\n\nMain entry point for running test suites on different OS\nimages for a specific board.\n\noptions:\n  -h, --help            show this help message and exit\n  -f, --flash           Enable flashing the OS image\n                        before testing. (default:\n                        disabled)\n  --no-flash            Disable flashing the OS image\n                        before testing.\n  -t, --test            Enable running tests after\n                        flashing. (default: enabled)\n  --no-test             Disable running tests after\n                        flashing.\n  -s, --stdout-log      Enable logging output to stdout.\n                        (default: disabled)\n  --no-stdout-log       Disable logging output to stdout.\n  -b BOARD_CONFIG, --board-config BOARD_CONFIG\n                        Path to the board configuration\n                        file.\n  -S SERIAL, --serial SERIAL\n                        Serial number of the SD Mux\n                        device.\n```\n\n## Server\n\n```sh\nuvicorn server:app --host 0.0.0.0 --port 8000 --reload\n```\n\n## To-Do\n\n- ~~flash image functionality~~ (done)\n- ~~test suite functionality~~ (done)\n- cut un-needed stdout logs (WIP)\n- usbsdmux package support (WIP)\n\n## Device Compatibility\n\n- SD-Mux Devices: SDWireC (tested)\n- Serial Devices: CP2102 USB-UART\n\n- Boards (Compattibility depends on your own config) :\n 1. Banana Pi BPI-F3 / SpacemiT K1\n 2. StarFive VisionFive / JH7100 (flash partially supported but boot stucks on detecting block devices so testing unavailable) [Maybe a SDWireC problem]\n 3. Milk-V Duo S\n\n## Dependency\n\n- sd-mux-ctrl binary added to PATH\n- pyserial, toml, rich, texttable and etc\n- sudo permisson (to access /dev/sdX and /dev/ttyUSBX)\n- fastapi uvicorn websockets (for web server access)\n- python-miio (optional, for auto powering on/off)\n\n## Example\n\n```sh\n(autotest) xyz@heartland:~/boardtest$ sudo /home/xyz/miniconda3/envs/autotest/bin/python main.py --no-stdout-log\n\n          Serial: sdwirec_alpha\n          Board config: ./boards/banana_pi_f3_config.toml\n          Flashing: False\n          Testing: True\n          Stdout log: False\n          \n==================================================\nRunning test suite for OS: Bianbu...\n==================================================\n\nPreparing to start test framework for OS Bianbu...\nDo you want to continue with testing?  [y/n] (n): y\nStarting test framework...\nroot\n-bash: root: 未找到命令\nLinux k1 6.1.15 #1.0 SMP PREEMPT Thu May 30 13:16:13 UTC 2024 riscv64 riscv64 riscv64 GNU/Linux\nPRETTY_NAME=\"Bianbu 1.0\"\nNAME=\"Bianbu\"\nVERSION_ID=\"1.0\"\nVERSION=\"1.0 (Mantic Minotaur)\"\nVERSION_CODENAME=mantic\nID=bianbu\nID_LIKE=debian\nHOME_URL=\"coming soon\"\nSUPPORT_URL=\"coming soon\"\nBUG_REPORT_URL=\"coming soon\"\nPRIVACY_POLICY_URL=\"coming soon\"\nUBUNTU_CODENAME=mantic\nLOGO=ubuntu-logo\nprocessor       : 0\nhart            : 0\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nprocessor       : 1\nhart            : 1\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nprocessor       : 2\nhart            : 2\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nprocessor       : 3\nhart            : 3\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nprocessor       : 4\nhart            : 4\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nprocessor       : 5\nhart            : 5\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nprocessor       : 6\nhart            : 6\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nprocessor       : 7\nhart            : 7\nmodel name      : Spacemit(R) X60\nisa             : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause\nmmu             : sv39\nmvendorid       : 0x710\nmarchid         : 0x8000000058000001\nmimpid          : 0x1000000049772200\n\nMemTotal:        3917196 kB\nMemFree:         2789620 kB\nMemAvailable:    3406960 kB\nBuffers:           47528 kB\nCached:           570420 kB\nSwapCached:            0 kB\nActive:           128220 kB\nInactive:         803508 kB\nActive(anon):       3472 kB\nInactive(anon):   319468 kB\nActive(file):     124748 kB\nInactive(file):   484040 kB\nUnevictable:           0 kB\nMlocked:               0 kB\nSwapTotal:             0 kB\nSwapFree:              0 kB\nDirty:                 0 kB\nWriteback:             0 kB\nAnonPages:        313836 kB\nMapped:           176172 kB\nShmem:              9160 kB\nKReclaimable:      55640 kB\nSlab:             107804 kB\nSReclaimable:      55640 kB\nSUnreclaim:        52164 kB\nKernelStack:        7488 kB\nPageTables:        10232 kB\nSecPageTables:         0 kB\nNFS_Unstable:          0 kB\nBounce:                0 kB\nWritebackTmp:          0 kB\nCommitLimit:     1958596 kB\nCommitted_AS:    2466648 kB\nVmallocTotal:   67108864 kB\nVmallocUsed:       30940 kB\nVmallocChunk:          0 kB\nPercpu:             2976 kB\nCmaTotal:         409600 kB\nCmaFree:          399136 kB\nHugePages_Total:       0\nHugePages_Free:        0\nHugePages_Rsvd:        0\nHugePages_Surp:        0\nHugepagesize:       2048 kB\nHugetlb:               0 kB\n文件系统        大小  已用  可用 已用% 挂载点\ntmpfs           383M  3.1M  380M    1% /run\n/dev/mmcblk2p6   14G  8.2G  5.1G   62% /\ntmpfs           1.9G     0  1.9G    0% /dev/shm\ntmpfs           5.0M   12K  5.0M    1% /run/lock\n/dev/mmcblk2p5  224M   27M  180M   13% /boot\ntmpfs           383M   80K  383M    1% /run/user/120\ntmpfs           383M   64K  383M    1% /run/user/0\nStopping test framework...\n\n\nTest report generated: report.txt\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F255doesnotexist%2Fboardtest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F255doesnotexist%2Fboardtest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F255doesnotexist%2Fboardtest/lists"}