diff options
| author | Szczepan Zalega <szczepan@nitrokey.com> | 2016-08-04 11:24:17 +0200 | 
|---|---|---|
| committer | Szczepan Zalega <szczepan@nitrokey.com> | 2016-08-05 10:17:30 +0200 | 
| commit | fd95d2ec8b0160657709f1655887739191f33932 (patch) | |
| tree | ed80a086ac0da394b2a17fa9c999c3abe4aa99c9 /unittest | |
| parent | 7d98b54afa3f2276c058dccf38bcfa34a35ed4bb (diff) | |
| download | libnitrokey-fd95d2ec8b0160657709f1655887739191f33932.tar.gz libnitrokey-fd95d2ec8b0160657709f1655887739191f33932.tar.bz2 | |
Handle C API declarations done in multiple lines
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
Diffstat (limited to 'unittest')
| -rw-r--r-- | unittest/test_bindings.py | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/unittest/test_bindings.py b/unittest/test_bindings.py index d65eeaf..fa78409 100644 --- a/unittest/test_bindings.py +++ b/unittest/test_bindings.py @@ -30,10 +30,13 @@ def C(request):      with open(fp, 'r') as f:          declarations = f.readlines() -    for declaration in declarations: +    a = iter(declarations) +    for declaration in a:          # extern int NK_write_totp_slot(int slot_number, char* secret, int time_window); -        if 'extern' in declaration and not '"C"' in declaration: +        if declaration.startswith('extern') and not '"C"' in declaration:              declaration = declaration.replace('extern', '').strip() +            while not ';' in declaration: +                declaration += (next(a)).strip()              print(declaration)              ffi.cdef(declaration) | 
