summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2021-01-29Generate fields as non-pub if they would be access restricted in C++.Weston Carvalho
2021-01-10Use absolute paths for unsaved files passed to clang and prepend -include ↵Andrey Pushkar
directives to them. Fixes #1771 Closes #1857
2020-12-26ci: Switch most CI to GitHub actions.Emilio Cobos Álvarez
2020-12-20comp: Fix bitfields to allow underaligned fields after them to take padding ↵Emilio Cobos Álvarez
space. Fixes #1947. There are two separate issues here: First, the change in comp.rs ensures that we don't round up the amount of storage to the alignment of the bitfield. That generates the "expected" output in #1947 (`__BindgenBitfieldUnit<[u8; 3], u16>`). But that's still not enough to fix that test-case because __BindgenBitfieldUnit would be aligned and have padding, and Rust won't put the extra field in the padding. In order to ensure the bitfield starts at the right alignment, but that Rust can put stuff in the extra field, we need to make a breaking change and split the generated fields in two: One preceding that guarantees alignment, and the actual storage, bit-aligned. This keeps the existing behavior while fixing that test-case.
2020-12-20context: Escape the dyn keyword properly.Emilio Cobos Álvarez
Fixes #1946
2020-12-19tests: Add another fit-macro-constant-types test.Emilio Cobos Álvarez
2020-12-19Add option to fit macro consts into smaller typesAntoni Simka
Add a `--fit-macro-constant-types` option to make bindgen try to fit macro integer constants into types smaller than u32/i32. Useful especially when dealing with 8/16-bit architectures. Closes #1945
2020-12-02dyngen: Pass null-terminated byte strings to libloading.Emilio Cobos Álvarez
Fixes #1938.
2020-12-02cli: Expose module_raw_lines to the CLI.Emilio Cobos Álvarez
This makes command_line_args properly return them, instead of dropping them on the floor.
2020-11-28struct_layout: Fix field offset computation for packed(n) structs.Emilio Cobos Álvarez
This can cause unnecessary padding to be computed otherwise at the end of the struct. With repr(packed(n)), a field can have padding to adjacent fields as long as its alignment is less than n. So reuse the code we have to align to a field layout, aligning to the struct layout instead. Fixes #1934
2020-11-26Add --no-default <regex> flagVarphone Wong
Sometimes, we need customize the implement of `Default` for certain types, In these cases, the `nodefault` annotation can be used to prevent bindgen to autoderive the `Default` traits for a type.
2020-11-25dyngen: Handle variadic functions.Emilio Cobos Álvarez
Right now trying to generate a dynamic library with variadic functions panics because we don't account for the extra `...` in the arguments. Keeping the current interface for variadic functions is tricky, as we cannot "wrap" a variadic function (VaList[1] is nightly-only). However, we don't need to. We're already exposing the libloading error, so exposing the function pointer field as public is just fine and allows consumers to call the variadic function. At that point the can_call() / CheckFoo libraries become pointless (you can just do library.function.is_ok() or such), so we can simplify the code as well removing those. [1]: https://doc.rust-lang.org/std/ffi/struct.VaList.html
2020-11-25Add tests for dynamic binding generationJoe Ellis
2020-11-25tests: Added option to hand check test differences.Volker Weißmann
2020-11-13Keep dependencies up-to-date.Emilio Cobos Álvarez
A few tests change some formatting, but that's fine.
2020-10-16codegen: Allow to not derive Debug on enums.Emilio Cobos Álvarez
Fixes #1899. This code predated all the derive machinery, and always hardcoded its derives. We could avoid hard-coding the other traits, but those seem usually-useful, so leave them there for backwards compat for now.
2020-09-16Fix test for CISebastian Imlay
2020-09-16Update to fix CISebastian Imlay
2020-09-16Updates for CISebastian Imlay
2020-09-16Updates from PR commentsSebastian Imlay
2020-09-16Fix spacing issueSebastian Imlay
2020-09-16First attempt to fix CISebastian Imlay
2020-09-16Updates base on commentsSebastian Imlay
* Added TryInto trait implementation from parent to child interfaces. * Added HashSet for protocols so that the protocol inheritance works as well.
2020-09-16Initial stuff for changing ownership and adding inheritanceSebastian Imlay
2020-08-25Added constructor return type for wasm32 target (#1877)Emilio Cobos Álvarez
2020-08-25tests: Improve enum tests to avoid duplication, and add a test for #1880Emilio Cobos Álvarez
2020-08-24Added expectation test files for clang 3.9 and 4Audrius
2020-08-24Optimized condition order, added regression testAudrius
2020-08-15Added Bindgen names to objective-c pointer return typesSebastian Imlay
* Took advantage of the repr transparent to use Bindgen return type names. * Updated unit tests and book
2020-08-09Add --default-macro-constant-typeChih-Hung Hsieh
* --default-macro-constant-type could be 'signed' or 'unsigned' * Its default value is 'unsigned' to use u32/u64 for C macro constants that fit into the u32/u64 ranges. * For old C libraries that use macros as int/long parameter and/or return value types, their macros are better declared as i32/i64 if the values fit the i32/i64 ranges, to be compatible with c_int/c_long types. They can use "--default-macro-constant-type signed"
2020-08-04Add --anon-fields-prefix optionVarphone Wong
Allow to use the given prefix for the anon fields instead of `__bindgen_anon_`.
2020-08-04Fixed const-ness of multidimensional arraysJoseph Angelo
2020-08-03tests: Add a test for bool enum with an alias.Emilio Cobos Álvarez
2020-08-03Add --no-debug <regex> flagVarphone Wong
2020-08-03Improves bindings for typed and anonymous enumsCameron Mulhern
2020-07-20Remove testing_only_libclang_3_8 and expectationsDarren Kulp
2020-07-01tests: Check that command_line_args round-trips.Emilio Cobos Álvarez
Fixes #1818.
2020-07-01tests: Minor simplification of test harness.Emilio Cobos Álvarez
We were never returning Ok(None), so not sure why this was ever there.
2020-07-01Introduce expectation test for operator namesDarren Kulp
2020-06-29Emit bindgen version in generated headerDarren Kulp
Update expectations
2020-06-29Disable generated comment in expectations testDarren Kulp
2020-06-29Run `cargo +nightly fmt` on expectationsDarren Kulp
Impending overwrites to expectations should be as simple and regular as possible, so get the formatting done here.
2020-06-15Derive traits for newtype aliases (#1802)eggyal
2020-06-15tests: Fix rustfmt check to allow for RUSTFMT env vars.Emilio Cobos Álvarez
2020-06-08Mangle items with the same name as Rust primitive typeskellda
2020-05-18add command-line option for disabling untagged unionsNathan Froyd
One more thing that we can configure from the command line.
2020-05-14ir: Fall back to get the cursors from the type if we find no param decls.Emilio Cobos Álvarez
It seems libclang sometimes doesn't expose the right paramdecl cursors. This should be reported upstream, but it's easy enough to workaround. It loses the parameter names which is a bit unfortunate but... Fixes #1778
2020-05-11Added inheritance to objective-c support.Sebastian Imlay
2020-05-04Add testStephen Crane
2020-04-27Run `cargo fix --edition`Joshua Nelson