1. 4f1aacf Also allow MSVC 2015's error message in test_move_partial_component. by Marco Poletti · 6 years ago
  2. 4d60dc9 Disable the test test_register_factory_abstract_class_with_no_virtual_destructor_error on MSVC since it no longer triggers a compile error with latest MSVC. (investigation pending) by Marco Poletti · 6 years ago
  3. ad11a85 Set the correct expected compile error for MSVC in test_move_partial_component. by Marco Poletti · 6 years ago
  4. ed5ec82 Make PartialComponent non-movable. This catches at compile-time some cases where PartialComponent is used for non-temporary values. See issue 67. by Marco Poletti · 6 years ago
  5. 7430589 Disable the check on the error message's line number in the test where we expect warnings. by Marco Poletti · 7 years ago
  6. 0d23b1c Ignore warnings in a test about a base class with no virtual destructor. Some versions of Clang can detect this warning before the Fruit static assert does. by Marco Poletti · 7 years ago
  7. d81f3dc Make Fruit injectors accessible concurrently from multiple threads. This commit is probably backwards-incompatible on some platforms (e.g. OS X), so I expect CI errors in some configurations. I'll add a CMake flag to allow switching this off in a separate commit. by Marco Poletti · 7 years ago
  8. 45abc58 Add a missing import to fix compilation of Fruit tests. by Marco Poletti · 7 years ago
  9. 1b959ab Add a .clang-format config file and reformat all C++ source code using that. Also added some documentation on the preferred style in CONTRIBUTING.md. by Marco Poletti · 7 years ago
  10. 0c60627 Make the Fruit tests pass with recent versions of Bazel (e.g. 0.7.0). by Marco Poletti · 7 years ago
  11. 59fe3a2 A few more fixes to make Fruit work under MSVC 2015 and 2017 in Appveyor. by Marco Poletti · 7 years ago
  12. 7cdc510 Added support for MSVC 14 (VS2015) by Clayton Lemons · 7 years ago
  13. ec29699 Remove a use of an undeclared field from a test. by Marco Poletti · 7 years ago
  14. e12e043 Amend some expected error regexes in tests to allow MSVC's error format. by Marco Poletti · 7 years ago
  15. 072be7b Remove some unused fields from test classes, this triggers a warning with Clang (that becomes an error with -Werror). by Marco Poletti · 7 years ago
  16. 4d26bed Report a compile time error when an class must have a virtual destructor but doesn't have one. by Marco Poletti · 7 years ago
  17. cce3c88 Amend the expected error regexes to accommodate GCC 7's error format. by Marco Poletti · 7 years ago
  18. b1ba283 Allow MSVC-style errors in expected error regexes (second attempt). by Marco Poletti · 7 years ago
  19. 6e774e6 Fix the expected error regexes to accomodate MSVC-style errors. by Marco Poletti · 7 years ago
  20. 666ed2a Make install() de-duplication and component replacements work across NormalizedComponent+Component. by Marco Poletti · 7 years ago
  21. 6ae9208 Change Injector's and NormalizedComponent's constructors to take a component function + args (like the new PartialComponent::install) instead of taking a Component<> directly. by Marco Poletti · 7 years ago
  22. 3a92133 Allow implicit conversions in the arguments passed to PartialComponent's install() and replace().with() methods. by Marco Poletti · 7 years ago
  23. b645d15 (Yet another attempt to) accept MSVC-style errors in tests. by Marco Poletti · 7 years ago
  24. 95cb811 Allow bind<I,C> when C was bound as a constant (and I is only needed as a constant). by Marco Poletti · 7 years ago
  25. 418e9bf Allow binding const references in bindInstance. by Marco Poletti · 7 years ago
  26. d1bd4cb (Another attempt to) accept MSVC-style errors in tests. by Marco Poletti · 7 years ago
  27. 0d55521 Remove Injector::unsafeGet. Also change Fruit tests to use a Fruit-internal version of that (that returns a const pointer, in preparation for supporting const-only bindings). by Marco Poletti · 7 years ago
  28. 01df12b Fix a couple typos in expected error regexes, that were causing test failures. by Marco Poletti · 7 years ago
  29. 075584a Amend expected error regexes in new tests to allow MSVC-style errors. by Marco Poletti · 7 years ago
  30. f46f8b1 Amend the expected error regexes in new tests to allow Clang's error format. by Marco Poletti · 7 years ago
  31. 0d7ed50 Fix a couple of tests that were failing with AppleClang because it requires explicit initializers for constants. by Marco Poletti · 7 years ago
  32. 8fc67bd Fix the regexes for expected compiler errors so that they are not locale-dependent. by Marco Poletti · 7 years ago
  33. c84c7de Allow Component, NormalizedComponent, Injector and Provider to specify that they only require/provide a const T (instead of requiring/providing a T). This is in preparation for allowing const bindings. by Marco Poletti · 7 years ago
  34. b95efcc Report better errors when attempting to bind/inject a type that can't be bound/injected. Also add more thorough tests for these cases, in preparation for supporting const bindings. by Marco Poletti · 7 years ago
  35. 508af7c Remove Component's copy constructor, conversion operator and install method. by Marco Poletti · 7 years ago
  36. eac5509 Document that replacements can be stacked and add tests for this case. by Marco Poletti · 7 years ago
  37. 6ae7b96 Remove support for GCC 4.8.x, GCC 5.0.0 is now the minimum supported version. GCC 4.8.x segfaults when compiling Fruit after the latest changes, and it's quite old at this point. by Marco Poletti · 7 years ago
  38. 102a707 Add a new PartialComponent feature: component replacement. by Marco Poletti · 7 years ago
  39. 629be9d Delete dead code (found in the coerage report). by Marco Poletti · 7 years ago
  40. 07cdd35 Add support for collecting test coverage, and document how to do it. by Marco Poletti · 7 years ago
  41. a8c2964 Use arena allocation for temporary collections created when normalizing a component and when initializing an injector, to improve performance. by Marco Poletti · 7 years ago
  42. ec8b01f Run tests with -Werror (/WX for Visual Studio), even in release mode. Before this change, we weren't able to test that the deprecation warnings are emitted when they should be (unless compiling in debug mode). by Marco Poletti · 7 years ago
  43. a3a2eb7 Accept MSVC's error format in test_install_component_functions_loop. by Marco Poletti · 7 years ago
  44. 589fdbc Fix the order of multibindings (that was knowingly broken in commit c563512e), and add tests to make sure all corner-cases wrt lazy components are covered. by Marco Poletti · 7 years ago
  45. 1ac6414 Deprecate Component's copy constructor. With the new-style install() syntax Components can be lightweight, so when a copy is desired they can just be re-created instead. This should be a very rare use case anyway. Removing this copy constructor will allow us (in the next major version of Fruit) to remove the code to copy components and lazy component arguments, reducing the object size for code using Fruit. by Marco Poletti · 7 years ago
  46. 5f439ab Fix a bug in the Fruit testing code that potentially caused some deprecation to be ignored in tests. by Marco Poletti · 7 years ago
  47. 22938ee Allow MSVC's type format in test_install_component_functions_loop (for real this time). by Marco Poletti · 7 years ago
  48. 464ec21 Allow MSVC's type format in test_install_component_functions_loop. by Marco Poletti · 7 years ago
  49. c6fea76 Implement de-duping and loop checking for the new-style install() method. by Marco Poletti · 7 years ago
  50. a2ba2bc Update the expected MSVC error in test_install_with_args_error_not_copy_constructible. by Marco Poletti · 7 years ago
  51. c3e8591 Use 4 xdist workers for each test when running tests with Bazel. This reduces the overall runtime by ~25%. by Marco Poletti · 7 years ago
  52. e59ecde (Actually) fix tests under Bazel. by Marco Poletti · 7 years ago
  53. e671f22 Set PATH_TO_COMPILED_FRUIT_LIB when running tests with Bazel too (it's now required, otherwise the tests will fail). by Marco Poletti · 7 years ago
  54. 37fa6da Make Fruit tests work again when using MinGW on Windows. by Marco Poletti · 7 years ago
  55. e303871 Fix syntax errors in the test_old_style_deprecation_error test, that were causing test failures on non-Valgrind test runs. by Marco Poletti · 7 years ago
  56. e583926 Fix a typo in fruit's testing code that was causing test failures when testing under Valgrind. by Marco Poletti · 7 years ago
  57. 8105223 Skip the test_old_style_deprecation_error test in release mode, warnings are not necessarily errors there. by Marco Poletti · 7 years ago
  58. fb3c202 Avoid copying testing files to the build directory. by Marco Poletti · 7 years ago
  59. 6526573 Skip the test test_defn_file_inclusion on Windows, it doesn't work. by Marco Poletti · 7 years ago
  60. bee4d5a Various test fixes: by Marco Poletti · 7 years ago
  61. 6b0ec35 Skip the test_old_style_deprecation_error test on GCC 4.8.x, it doesn't work (the code compiles cleanly instead of reporting a deprecation warning). by Marco Poletti · 7 years ago
  62. e00461f Migrate all Fruit tests to pytest, to improve parallelization. After this change, it's no longer possible to run Fruit tests via CTest. by Marco Poletti · 7 years ago
  63. 9694cc7 Match any character (.) when expecting an open/closed quote in compiler error messages. The quote character might be different depending on the locale. by Marco Poletti · 7 years ago
  64. c9e7a0b Mark the old PartialComponent::install() method as deprecated. by Marco Poletti · 7 years ago
  65. bba39ca Allow MSVC-style errors in test_install.py. by Marco Poletti · 7 years ago
  66. bfd69aa Test changes to (try to) make test_install pass on OS X. by Marco Poletti · 7 years ago
  67. 6cd80e9 Add another allowed compiler error to test_install_with_args_error_not_hashable (this different error format is used by older versions of GCC, e.g. 4.8.4). by Marco Poletti · 7 years ago
  68. 09843e0 Add a new PartialComponent#install() method that takes a function + args. This has the potential of being much more efficient than the one that takes a Component; however for now it's just implemented as a wrapper around the old install() method. by Marco Poletti · 7 years ago
  69. 1e44d55 Fix a performance bug that was preventing binding compression from working. E.g. with the 100 classes benchmark under Clang 4.0, this fix reduces the per-request injection time by 27%. by Marco Poletti · 7 years ago
  70. 55c3ce6 Switch from unittest.skipUnless to pytest.mark.skipif. The former doesn't work anymore now that Fruit tests are using pytest. by Marco Poletti · 8 years ago
  71. 03352bb Disable the pytest cache when running tests under bazel, it causes errors (read-only file system) when running tests with sandboxing enabled. by Marco Poletti · 8 years ago
  72. 8aa3a2c Improve the Fruit test names for complex parameterized tests. by Marco Poletti · 8 years ago
  73. cb5c60f Migrate Fruit's end-to-end tests from nose2 to pytest, improving parallelization. by Marco Poletti · 8 years ago
  74. be74572 Go ahead when we fail to clean up temporary files in tests. This should fix the flakiness of the CI tests on Windows. by Marco Poletti · 8 years ago
  75. 4661e5e Add some more Required<>-related tests. by Marco Poletti · 8 years ago
  76. 552790f Report an error if Required<...> is passed as a non-first argument to Component/NormalizedComponent. This is not supported, and it was hard to figure out the issue before (in some cases the Required<> type was just ignored). Also add relevant tests. by Marco Poletti · 8 years ago
  77. dc9a191 Add support for building Fruit as a dynamic library (dll) with MSVC. by Marco Poletti · 8 years ago
  78. f8d1e29 Cleanup hashset/hashmap-related Fruit code. by Marco Poletti · 8 years ago
  79. 56492f7 Add some integer casts to prevent overflows on 64bit Windows. by Marco Poletti · 8 years ago
  80. 50e5afc Fix 2 build errors introduced by commit 905dc09. by Marco Poletti · 8 years ago
  81. 905dc09 Support building Fruit with MSVC. by Marco Poletti · 8 years ago
  82. dcc51a5 Fix quoting of variables in ifs in CMake files. by Marco Poletti · 8 years ago
  83. 7c74201 Support compiling Fruit (and running tests) under Windows, using MinGW's GCC. by Marco Poletti · 8 years ago
  84. bf7ec36 Reduce the uses of *x (with x a list) in python testing code. *x only works properly in recent python versions, it fails e.g. with the python3 shipped in Ubuntu 15.10. by Marco Poletti · 8 years ago
  85. 426859f Factor testing code specific to posix compilers in a PosixCompiler class. This is in preparation for MSVC support. by Marco Poletti · 8 years ago
  86. 7562d52 Add some e2e tests for PartialComponent::install(). by Marco Poletti · 8 years ago
  87. f91cc9e Fix the test test_move_partial_component, it was failing when testing with Clang. by Marco Poletti · 8 years ago
  88. e0c4358 Add more e2e tests for Component/PartialComponent features. by Marco Poletti · 8 years ago
  89. 66918a4 Improve 'binding not found' errors for abstract classes and add a specific e2e test. by Marco Poletti · 8 years ago
  90. 45d8022 Fix an escaping issue in some e2e tests that was causing test failures in OS X. by Marco Poletti · 8 years ago
  91. 63140f6 Report a more informative error message when an e2e test fails to compile a regex for an expected error. by Marco Poletti · 8 years ago
  92. a5cb297 Use "true" instead of "/bin/true" as no-op command, so that it also works on OS X (where it's in /usr/bin). by Marco Poletti · 8 years ago
  93. 7937802 Don't use PCHs in tests if the compiler and GCC and we're testing with the undefined behavior sanitizer. by Marco Poletti · 8 years ago
  94. 8bc638c Make Fruit tests work under Bazel again. by Marco Poletti · 8 years ago
  95. 3a7b93d Move test-only code to a separate header instead of using include guards. This fixes a compile error that occurred only in release mode, due to the use of PCHs in tests. Also remove the ConstructProofForest metafunction since it was never used. by Marco Poletti · 8 years ago
  96. f05259d Use precompiled headers in Fruit tests. This reduces the test time by ~50% (and the configure+build+test time by ~40%). by Marco Poletti · 8 years ago
  97. bdf5dc0 Introduce a ConstructionTracker helper class for tests, avoiding some repetition and making tests more concise. by Marco Poletti · 8 years ago
  98. 723b4d6 Change an e2e test to be compatible with Python 3 <3.5.0 (as found in older Ubuntu versions). by Marco Poletti · 8 years ago
  99. 072fb36 Improve test coverage for bind<>. Also forbid non-class types in bind<>. by Marco Poletti · 8 years ago
  100. f913ec4 Fix a bug in the error reporting in the e2e testing code. by Marco Poletti · 8 years ago