Go to file
Thomas Preston fd548e16fb support/testing: Add download tests for SCP/SFTP
Add download test infrastructure which starts an OpenSSH server using
the sshd binary installed on the Buildroot host. This server can then be
used to test the expected usage of the SCP and SFTP download methods.
The test creates new SSH keys for the server and client, so that the
server can be run as a non-root user.

A new test module has been added called `tests.download.sshd` which
contains helper methods to create the SSH keys and a class called
`OpenSSHDaemon` which handles the sshd server component.

The tests download example packages in the br2-external project `ssh`.
They check the following conditions for both SCP and SFTP download
methods:
- Correct hash.
- Incorrect hash.
- No hash file.

The SSH download test infrastructure is based on test_git.py.

Signed-off-by: Thomas Preston <thomas.preston@codethink.co.uk>
[Arnout:
 - remove spurious end-of-line backslash;
 - remove unnecessary executable bit;
 - skip test instead of failing if sshd, ssh-keygen, scp or sftp are not
   found;
 - decode the output of subprocess;
 - use subprocess.check_output instead of subprocess.get_output;
 - use subprocess.check_call instead of manually checking return code;
 - don't set always-overridden SSHD_PORT_NUMBER in .mk file;
 - explicitly set sshd options on commandline instead of relying on host
   /etc/sshd/sshd_config;
 - let sshd listen only on localhost;
 - user internal sftp server;
 - disable BACKUP_SITE, no network is supposed to be accessed;
 - remove the -bad and -nohash versions;
 - rename {sftp,scp}-good to plain {sftp,scp};
 - move the sftp and scp packages into a single "ssh" external.
]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-01-06 09:34:05 +01:00
arch arch/config: Make RISC-V 64-bits MMU optional 2021-10-27 14:39:01 +02:00
board board/qemu/aarch64-sbsa: use partition-type-uuid for genimage-15 2022-01-03 21:41:50 +01:00
boot boot/barebox: bump version to 2021.12.0 2021-12-30 21:15:57 +01:00
configs configs/stm32f469_disco_xip: explicitly set the kernel version 2022-01-04 18:49:20 +01:00
docs support/download: Add SFTP support 2022-01-06 09:34:05 +01:00
fs fs/ext2: fir (again) namespace for variables 2021-10-13 18:01:34 +02:00
linux linux: bump CIP RT kernel to version 5.10.83-cip1-rt1 2021-12-12 13:21:43 +01:00
package support/download: Add SFTP support 2022-01-06 09:34:05 +01:00
support support/testing: Add download tests for SCP/SFTP 2022-01-06 09:34:05 +01:00
system system: support br2-external init systems 2020-10-14 22:48:42 +02:00
toolchain toolchain: re-generate Bootlin toolchain descriptions 2021-12-30 18:43:23 +01:00
utils utils/diffconfig: use python3 explicitly 2021-12-29 10:07:59 +01:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 Revert ".flake8: fix check for 80/132 columns" 2021-01-02 17:38:20 +01:00
.gitignore
.gitlab-ci.yml .gitlab-ci.yml: use the Docker image from gitlab registry 2021-10-24 16:12:43 +02:00
CHANGES Update for 2021.02.8 2021-12-14 23:22:57 +01:00
Config.in support/download: Add SFTP support 2022-01-06 09:34:05 +01:00
Config.in.legacy Config.in.legacy: fix removed bootlin riscv64 toolchains 2022-01-04 23:12:32 +01:00
COPYING
DEVELOPERS package/python-aexpect: new package 2022-01-06 09:28:57 +01:00
Makefile Makefile: disable 'printvars' and 'show-vars' recipes for Make 4.3 2022-01-04 17:53:00 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches