support/testing: add git runtime test
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit 24efb23a10)
This commit is contained in:
committed by
Arnout Vandecappelle
parent
9b24a8272b
commit
ba59edc803
@@ -1897,6 +1897,7 @@ F: support/testing/tests/package/test_fwts.py
|
||||
F: support/testing/tests/package/test_gawk.py
|
||||
F: support/testing/tests/package/test_ghostscript.py
|
||||
F: support/testing/tests/package/test_ghostscript/
|
||||
F: support/testing/tests/package/test_git.py
|
||||
F: support/testing/tests/package/test_glslsandbox_player.py
|
||||
F: support/testing/tests/package/test_glslsandbox_player/
|
||||
F: support/testing/tests/package/test_gnupg2.py
|
||||
|
||||
57
support/testing/tests/package/test_git.py
Normal file
57
support/testing/tests/package/test_git.py
Normal file
@@ -0,0 +1,57 @@
|
||||
import os
|
||||
|
||||
import infra.basetest
|
||||
|
||||
|
||||
class TestGit(infra.basetest.BRTest):
|
||||
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
|
||||
"""
|
||||
BR2_PACKAGE_GIT=y
|
||||
BR2_TARGET_ROOTFS_CPIO=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
"""
|
||||
|
||||
def test_run(self):
|
||||
cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
|
||||
self.emulator.boot(arch="armv5",
|
||||
kernel="builtin",
|
||||
options=["-initrd", cpio_file])
|
||||
self.emulator.login()
|
||||
|
||||
# Check the program can execute.
|
||||
self.assertRunOk("git --version")
|
||||
|
||||
# Initialize some git global configuration.
|
||||
git_cfg = [
|
||||
("user.name", "Build Root"),
|
||||
("user.email", "build.root@localhost.localdomain"),
|
||||
("color.ui", "false"),
|
||||
("init.defaultBranch", "master"),
|
||||
("core.pager", "")
|
||||
]
|
||||
for cfg_name, cfg_value in git_cfg:
|
||||
cmd = f"git config --global {cfg_name} '{cfg_value}'"
|
||||
self.assertRunOk(cmd)
|
||||
|
||||
# Run a sequence of few git commands.
|
||||
commands = [
|
||||
"mkdir workdir",
|
||||
"cd workdir",
|
||||
"git init",
|
||||
"echo 'Hello World' > file.txt",
|
||||
"git add file.txt",
|
||||
"git commit -as -m 'Initial commit'",
|
||||
"git checkout -b my_branch",
|
||||
"sed -i 's/World/Buildroot/g' file.txt",
|
||||
"git status",
|
||||
"git commit -as -m 'Replace World by Buildroot'",
|
||||
"git format-patch -M -n -s -o patches master",
|
||||
"ls -al patches/*.patch",
|
||||
"git checkout -b another_branch master",
|
||||
"git am patches/*.patch",
|
||||
"git diff --exit-code my_branch another_branch",
|
||||
"git tag -a -m 'Tagged v1.0' v1.0",
|
||||
"git log"
|
||||
]
|
||||
for cmd in commands:
|
||||
self.assertRunOk(cmd)
|
||||
Reference in New Issue
Block a user