test: disable repository owner verification for tests (#47)

This commit is contained in:
Aleksey Kulikov 2022-04-13 14:02:26 +03:00 committed by GitHub
parent f42f8a6e1b
commit 94c40f9a94
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 61 additions and 4 deletions

View file

@ -2480,17 +2480,39 @@ class Libgit2 {
/// @return 0 on success, <0 on failure
int git_libgit2_opts(
int option,
ffi.Pointer<ffi.Int8> out,
) {
return _git_libgit2_opts(
option,
out,
);
}
late final _git_libgit2_optsPtr =
_lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
late final _git_libgit2_optsPtr = _lookup<
ffi.NativeFunction<
ffi.Int32 Function(
ffi.Int32, ffi.Pointer<ffi.Int8>)>>('git_libgit2_opts');
late final _git_libgit2_opts = _git_libgit2_optsPtr
.asFunction<int Function(int, ffi.Pointer<ffi.Int8>)>();
/// Set a library global option.
///
/// Look at [git_libgit2_opts]
int git_libgit2_opts_set(
int option,
int value,
) {
return _git_libgit2_opts_set(
option,
value,
);
}
late final _git_libgit2_opts_setPtr =
_lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32, ffi.Int32)>>(
'git_libgit2_opts');
late final _git_libgit2_opts =
_git_libgit2_optsPtr.asFunction<int Function(int)>();
late final _git_libgit2_opts_set =
_git_libgit2_opts_setPtr.asFunction<int Function(int, int)>();
/// Free the memory referred to by the git_buf.
///

View file

@ -2,6 +2,7 @@ import 'dart:ffi';
import 'package:ffi/ffi.dart';
import 'package:libgit2dart/libgit2dart.dart';
import 'package:libgit2dart/src/bindings/libgit2_bindings.dart';
import 'package:libgit2dart/src/util.dart';
class Libgit2 {
@ -33,4 +34,25 @@ class Libgit2 {
.where((e) => featuresInt & e.value == e.value)
.toSet();
}
/// Returns owner validation setting for repository directories.
static bool get ownerValidation {
libgit2.git_libgit2_init();
final out = calloc<Int8>();
libgit2.git_libgit2_opts(
git_libgit2_opt_t.GIT_OPT_GET_OWNER_VALIDATION,
out,
);
return out.value == 1 || false;
}
/// Sets owner validation setting for repository directories.
static set ownerValidation(bool value) {
libgit2.git_libgit2_init();
final valueC = value ? 1 : 0;
libgit2.git_libgit2_opts_set(
git_libgit2_opt_t.GIT_OPT_SET_OWNER_VALIDATION,
valueC,
);
}
}