1. 20 Jul, 2020 1 commit
  2. 26 Apr, 2020 1 commit
  3. 11 Jun, 2019 1 commit
  4. 25 Oct, 2017 1 commit
  5. 05 Aug, 2017 1 commit
    • Jason Rhinelander's avatar
      Update all remaining tests to new test styles · 391c7544
      Jason Rhinelander authored
      This udpates all the remaining tests to the new test suite code and
      comment styles started in #898.  For the most part, the test coverage
      here is unchanged, with a few minor exceptions as noted below.
      
      - test_constants_and_functions: this adds more overload tests with
        overloads with different number of arguments for more comprehensive
        overload_cast testing.  The test style conversion broke the overload
        tests under MSVC 2015, prompting the additional tests while looking
        for a workaround.
      
      - test_eigen: this dropped the unused functions `get_cm_corners` and
        `get_cm_corners_const`--these same tests were duplicates of the same
        things provided (and used) via ReturnTester methods.
      
      - test_opaque_types: this test had a hidden dependence on ExampleMandA
        which is now fixed by using the global UserType which suffices for the
        relevant test.
      
      - test_methods_and_attributes: this required some additions to UserType
        to make it usable as a replacement for the test's previous SimpleType:
        UserType gained a value mutator, and the `value` property is not
        mutable (it was previously readonly).  Some overload tests were also
        added to better test overload_cast (as described above).
      
      - test_numpy_array: removed the untemplated mutate_data/mutate_data_t:
        the templated versions with an empty parameter pack expand to the same
        thing.
      
      - test_stl: this was already mostly in the new style; this just tweaks
        things a bit, localizing a class, and adding some missing
        `// test_whatever` comments.
      
      - test_virtual_functions: like `test_stl`, this was mostly in the new
        test style already, but needed some `// test_whatever` comments.
        This commit also moves the inherited virtual example code to the end
        of the file, after the main set of tests (since it is less important
        than the other tests, and rather length); it also got renamed to
        `test_inherited_virtuals` (from `test_inheriting_repeat`) because it
        tests both inherited virtual approaches, not just the repeat approach.
      391c7544
  6. 27 Jun, 2017 2 commits
  7. 10 Jun, 2017 1 commit
  8. 26 Feb, 2017 3 commits
    • Dean Moldovan's avatar
      Add lightweight iterators for tuple, list and sequence · 5637af7b
      Dean Moldovan authored
      Slightly reduces binary size (range for loops over tuple/list benefit
      a lot). The iterators are compatible with std algorithms.
      5637af7b
    • Dean Moldovan's avatar
      Make py::iterator compatible with std algorithms · 1fac1b9f
      Dean Moldovan authored
      The added type aliases are required by `std::iterator_traits`.
      Python iterators satisfy the `InputIterator` concept in C++.
      1fac1b9f
    • Dean Moldovan's avatar
      Handle all py::iterator errors · f7685826
      Dean Moldovan authored
      Before this, `py::iterator` didn't do any error handling, so code like:
      ```c++
      for (auto item : py::int_(1)) {
          // ...
      }
      ```
      would just silently skip the loop. The above now throws `TypeError` as
      expected. This is a breaking behavior change, but any code which relied
      on the silent skip was probably broken anyway.
      
      Also, errors returned by `PyIter_Next()` are now properly handled.
      f7685826
  9. 20 Nov, 2016 1 commit
  10. 24 Aug, 2016 1 commit
  11. 19 Aug, 2016 1 commit
    • Dean Moldovan's avatar
      Port tests to pytest · a0c1ccf0
      Dean Moldovan authored
      Use simple asserts and pytest's powerful introspection to make testing
      simpler. This merges the old .py/.ref file pairs into simple .py files
      where the expected values are right next to the code being tested.
      
      This commit does not touch the C++ part of the code and replicates the
      Python tests exactly like the old .ref-file-based approach.
      a0c1ccf0