Merge branch 'add-ci' into 'master'
Add CI Tests See merge request redox-os/installer!49
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
image: "rust:latest"
|
||||
|
||||
stages:
|
||||
- lint
|
||||
- test
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
- if: '$CI_COMMIT_BRANCH == "master"'
|
||||
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
|
||||
|
||||
fmt:
|
||||
stage: lint
|
||||
script:
|
||||
- rustup component add rustfmt
|
||||
- cargo fmt -- --check
|
||||
|
||||
cargo-test:
|
||||
stage: test
|
||||
script:
|
||||
- apt update && apt install -y fuse3 libfuse3-dev
|
||||
- cargo build --locked
|
||||
- cargo test
|
||||
- fallocate -l 256MiB test.bin
|
||||
- ./target/debug/redox_installer -c res/test.toml test.bin
|
||||
+76
-32
@@ -6,9 +6,11 @@ include = []
|
||||
prompt = false
|
||||
filesystem_size = 256
|
||||
|
||||
[packages.bootloader]
|
||||
[packages.base]
|
||||
|
||||
[packages.bootstrap]
|
||||
[packages.base-initfs]
|
||||
|
||||
[packages.bootloader]
|
||||
|
||||
[packages.ca-certificates]
|
||||
|
||||
@@ -16,29 +18,25 @@ filesystem_size = 256
|
||||
|
||||
[packages.drivers]
|
||||
|
||||
[packages.escalated]
|
||||
|
||||
[packages.extrautils]
|
||||
|
||||
[packages.findutils]
|
||||
|
||||
[packages.initfs]
|
||||
|
||||
[packages.ion]
|
||||
|
||||
[packages.ipcd]
|
||||
|
||||
[packages.kernel]
|
||||
|
||||
[packages.netdb]
|
||||
[packages.libgcc]
|
||||
|
||||
[packages.netstack]
|
||||
[packages.libstdcxx]
|
||||
|
||||
[packages.netdb]
|
||||
|
||||
[packages.netutils]
|
||||
|
||||
[packages.pkgutils]
|
||||
|
||||
[packages.ptyd]
|
||||
[packages.relibc]
|
||||
|
||||
[packages.smith]
|
||||
|
||||
@@ -55,7 +53,7 @@ mkdir -m a=rwxt /tmp
|
||||
|
||||
ipcd
|
||||
ptyd
|
||||
escalated
|
||||
sudo --daemon
|
||||
"""
|
||||
symlink = false
|
||||
directory = false
|
||||
@@ -64,7 +62,7 @@ recursive_chown = false
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/00_drivers"
|
||||
data = """
|
||||
pcid /etc/pcid.d/
|
||||
pcid-spawner /etc/pcid.d/
|
||||
"""
|
||||
symlink = false
|
||||
directory = false
|
||||
@@ -72,16 +70,14 @@ recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/etc/hostname"
|
||||
data = """
|
||||
redox
|
||||
"""
|
||||
data = "redox"
|
||||
symlink = false
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/os-release"
|
||||
data = '''
|
||||
data = """
|
||||
PRETTY_NAME="Redox OS 0.9.0"
|
||||
NAME="Redox OS"
|
||||
VERSION_ID="0.9.0"
|
||||
@@ -91,7 +87,7 @@ ID="redox-os"
|
||||
HOME_URL="https://redox-os.org/"
|
||||
DOCUMENTATION_URL="https://redox-os.org/docs/"
|
||||
SUPPORT_URL="https://redox-os.org/community/"
|
||||
'''
|
||||
"""
|
||||
symlink = false
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
@@ -103,6 +99,13 @@ symlink = true
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pkg.d/50_redox"
|
||||
data = "https://static.redox-os.org/pkg"
|
||||
symlink = false
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/usr"
|
||||
data = ""
|
||||
@@ -164,13 +167,6 @@ directory = true
|
||||
mode = 493
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/libexec"
|
||||
data = "usr/libexec"
|
||||
symlink = true
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/usr/share"
|
||||
data = ""
|
||||
@@ -186,6 +182,61 @@ symlink = true
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/usr/share/fonts"
|
||||
data = "../../ui/fonts"
|
||||
symlink = true
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/var"
|
||||
data = ""
|
||||
symlink = false
|
||||
directory = true
|
||||
mode = 493
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/var/cache"
|
||||
data = ""
|
||||
symlink = false
|
||||
directory = true
|
||||
mode = 493
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/var/lib"
|
||||
data = ""
|
||||
symlink = false
|
||||
directory = true
|
||||
mode = 493
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/var/lock"
|
||||
data = ""
|
||||
symlink = false
|
||||
directory = true
|
||||
mode = 1023
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/var/log"
|
||||
data = ""
|
||||
symlink = false
|
||||
directory = true
|
||||
mode = 493
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/var/tmp"
|
||||
data = ""
|
||||
symlink = false
|
||||
directory = true
|
||||
mode = 1023
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/dev/null"
|
||||
data = "/scheme/null"
|
||||
@@ -300,13 +351,6 @@ symlink = false
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pkg.d/50_redox"
|
||||
data = "https://static.redox-os.org/pkg"
|
||||
symlink = false
|
||||
directory = false
|
||||
recursive_chown = false
|
||||
|
||||
[users.root]
|
||||
password = "password"
|
||||
uid = 0
|
||||
|
||||
+1
-7
@@ -66,13 +66,7 @@ impl DiskWrapper {
|
||||
let block = self.seek / block_len;
|
||||
let offset: usize = (self.seek % block_len).try_into().unwrap();
|
||||
let remaining = buf_len.checked_sub(i).unwrap();
|
||||
let len = cmp::min(
|
||||
remaining,
|
||||
self.block
|
||||
.len()
|
||||
.checked_sub(offset)
|
||||
.unwrap(),
|
||||
);
|
||||
let len = cmp::min(remaining, self.block.len().checked_sub(offset).unwrap());
|
||||
|
||||
self.disk
|
||||
.seek(SeekFrom::Start(block.checked_mul(block_len).unwrap()))?;
|
||||
|
||||
Reference in New Issue
Block a user