fix: noconfirm auto-selects first AUR match
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from storer import Storer
|
||||
|
||||
s = Storer()
|
||||
|
||||
if s.get_value() != 0:
|
||||
raise SystemExit('Initial value incorrect.')
|
||||
|
||||
s.set_value(42)
|
||||
|
||||
if s.get_value() != 42:
|
||||
raise SystemExit('Setting value failed.')
|
||||
|
||||
try:
|
||||
s.set_value('not a number')
|
||||
raise SystemExit('Using wrong argument type did not fail.')
|
||||
except TypeError:
|
||||
pass
|
||||
@@ -0,0 +1,9 @@
|
||||
|
||||
cdef extern from "storer.h":
|
||||
ctypedef struct Storer:
|
||||
pass
|
||||
|
||||
Storer* storer_new();
|
||||
void storer_destroy(Storer *s);
|
||||
int storer_get_value(Storer *s);
|
||||
void storer_set_value(Storer *s, int v);
|
||||
@@ -0,0 +1,11 @@
|
||||
pyx_c = custom_target('storer_pyx',
|
||||
output : 'storer_pyx.c',
|
||||
input : 'storer.pyx',
|
||||
command : [cython, '@INPUT@', '-o', '@OUTPUT@', '-3'],
|
||||
)
|
||||
|
||||
slib = py3.extension_module('storer',
|
||||
'storer.c', pyx_c,
|
||||
)
|
||||
|
||||
pydir = meson.current_build_dir()
|
||||
@@ -0,0 +1,24 @@
|
||||
#include"storer.h"
|
||||
#include<stdlib.h>
|
||||
|
||||
struct _Storer {
|
||||
int value;
|
||||
};
|
||||
|
||||
Storer* storer_new() {
|
||||
Storer *s = malloc(sizeof(struct _Storer));
|
||||
s->value = 0;
|
||||
return s;
|
||||
}
|
||||
|
||||
void storer_destroy(Storer *s) {
|
||||
free(s);
|
||||
}
|
||||
|
||||
int storer_get_value(Storer *s) {
|
||||
return s->value;
|
||||
}
|
||||
|
||||
void storer_set_value(Storer *s, int v) {
|
||||
s->value = v;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
typedef struct _Storer Storer;
|
||||
|
||||
Storer* storer_new();
|
||||
void storer_destroy(Storer *s);
|
||||
int storer_get_value(Storer *s);
|
||||
void storer_set_value(Storer *s, int v);
|
||||
@@ -0,0 +1,16 @@
|
||||
cimport cstorer
|
||||
|
||||
cdef class Storer:
|
||||
cdef cstorer.Storer* _c_storer
|
||||
|
||||
def __cinit__(self):
|
||||
self._c_storer = cstorer.storer_new()
|
||||
|
||||
def __dealloc__(self):
|
||||
cstorer.storer_destroy(self._c_storer)
|
||||
|
||||
cpdef int get_value(self):
|
||||
return cstorer.storer_get_value(self._c_storer)
|
||||
|
||||
cpdef set_value(self, int value):
|
||||
cstorer.storer_set_value(self._c_storer, value)
|
||||
@@ -0,0 +1,25 @@
|
||||
project('cython', 'c',
|
||||
default_options : ['warning_level=3', 'buildtype=release']
|
||||
)
|
||||
if meson.backend() != 'ninja'
|
||||
error('MESON_SKIP_TEST: Ninja backend required')
|
||||
endif
|
||||
|
||||
cython = find_program('cython', required : false)
|
||||
if not cython.found()
|
||||
error('MESON_SKIP_TEST: Cython3 not found.')
|
||||
endif
|
||||
|
||||
py3 = import('python').find_installation(pure: false)
|
||||
py3_dep = py3.dependency(required: false)
|
||||
if not py3_dep.found()
|
||||
error('MESON_SKIP_TEST: Python library not found.')
|
||||
endif
|
||||
|
||||
subdir('libdir')
|
||||
|
||||
test('cython tester',
|
||||
py3,
|
||||
args : files('cytest.py'),
|
||||
env : ['PYTHONPATH=' + pydir]
|
||||
)
|
||||
Reference in New Issue
Block a user