Tests: Add garage integration tests #215

Closed
KokaKiwi wants to merge 8 commits from KokaKiwi/garage:integration-tests into main
4 changed files with 6 additions and 9 deletions
Showing only changes of commit 07fd59c8e6 - Show all commits

View file

@ -46,7 +46,7 @@ steps:
- name: nix_config
path: /etc/nix
commands:
- nix-build --no-build-output --argstr target x86_64-unknown-linux-musl --arg release false --argstr git_version $DRONE_COMMIT
- nix-build --no-build-output --option log-lines 100 --argstr target x86_64-unknown-linux-musl --arg release false --argstr git_version $DRONE_COMMIT
- name: unit tests
image: nixpkgs/nix:nixos-21.05
@ -59,6 +59,7 @@ steps:
- |
nix-build \
--no-build-output \
--option log-lines 100 \
--argstr target x86_64-unknown-linux-musl \
--argstr compileMode test
- ./result*/bin/garage_api*

View file

@ -76,7 +76,7 @@ in let
*/
''^(src|tests)'' # fixed default
''.*\.(rs|toml)$'' # fixed default
''^(crdt|replication|cli|helper|signature)'' # our crate submodules
''^(crdt|replication|cli|helper|signature|common|ext)'' # our crate submodules
];
};

View file

@ -8,6 +8,8 @@ description = "Garage, an S3-compatible distributed object store for self-hosted
repository = "https://git.deuxfleurs.fr/Deuxfleurs/garage"
readme = "../../README.md"
autotests = false
[[bin]]
name = "garage"
path = "main.rs"

View file

@ -179,12 +179,6 @@ index = "index.html"
}
}
impl Drop for Instance {
fn drop(&mut self) {
self.terminate()
}
}
static mut INSTANCE: MaybeUninit<Instance> = MaybeUninit::uninit();
static INSTANCE_INIT: Once = Once::new();
@ -192,7 +186,7 @@ static INSTANCE_INIT: Once = Once::new();
extern "C" fn terminate_instance() {
if INSTANCE_INIT.is_completed() {
KokaKiwi marked this conversation as resolved Outdated

Why do you need extern "C" here?

Why do you need `extern "C"` here?

It's required by the static_init::destructor attribute, as it register the function to be called by libc global ctor/dtor stuff

It's required by the `static_init::destructor` attribute, as it register the function to be called by libc global ctor/dtor stuff
unsafe {
INSTANCE.assume_init_drop();
INSTANCE.assume_init_mut().terminate();
}
}
}