tree_haver 4.0.2 → 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +39 -1
- data/lib/tree_haver/rspec/dependency_tags.rb +27 -8
- data/lib/tree_haver/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ccd582c370b8637334816c198f3db0a63bf88ad68bbdf2c801d3966547d0ec8a
|
|
4
|
+
data.tar.gz: 0e42adbd1e9502a8f9c8517b21688a65c4aa8f5320b49175bbf41c67a631c5a2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6ebd60f2b31c8ef09b5f3a12a3a77b58ca6a789b3d7b6d41ce8801aa7aa771cd8e02733206bee70cd41c0af78d213e4471f3cd5f28e3580db49ca37a08a31c00
|
|
7
|
+
data.tar.gz: 776084c8a3673c5ff1039ac1f384e6b6592b9e151a4e51d27b96002fc17e4e10107be85218365458ce9e0df283ae853d82d25c3a1b3c07ac60e3435c477485af
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,40 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [4.0.4] - 2026-01-09
|
|
34
|
+
|
|
35
|
+
- TAG: [v4.0.4][4.0.4t]
|
|
36
|
+
- COVERAGE: 95.27% -- 2033/2134 lines in 28 files
|
|
37
|
+
- BRANCH COVERAGE: 84.07% -- 802/954 branches in 28 files
|
|
38
|
+
- 95.49% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- **RSpec Dependency Tags**: Fixed blocked backend tests not being excluded on JRuby
|
|
43
|
+
- When `TREE_HAVER_BACKEND=ffi` is set, MRI backend is blocked to prevent conflicts
|
|
44
|
+
- Previously, this skipped BOTH the availability check AND the exclusion
|
|
45
|
+
- Now blocked backends are excluded without checking availability
|
|
46
|
+
- Tests tagged with `:mri_backend` now properly skip on JRuby when FFI is selected
|
|
47
|
+
|
|
48
|
+
## [4.0.3] - 2026-01-08
|
|
49
|
+
|
|
50
|
+
- TAG: [v4.0.3][4.0.3t]
|
|
51
|
+
- COVERAGE: 95.27% -- 2033/2134 lines in 28 files
|
|
52
|
+
- BRANCH COVERAGE: 84.17% -- 803/954 branches in 28 files
|
|
53
|
+
- 95.49% documented
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
|
|
57
|
+
- **RSpec Dependency Tags**: Refactored FFI backend isolation to use standard `:ffi_backend` tag
|
|
58
|
+
- The `--tag ffi_backend` now triggers `isolated_test_mode` in `dependency_tags.rb`
|
|
59
|
+
- This prevents MRI backend from loading during availability checks
|
|
60
|
+
- Legacy `*_backend_only` tags are still supported for backwards compatibility
|
|
61
|
+
- Simplifies the testing pattern: one tag serves as both dependency tag and isolation trigger
|
|
62
|
+
|
|
63
|
+
### Deprecated
|
|
64
|
+
|
|
65
|
+
- **`:ffi_backend_only` tag**: Use `:ffi_backend` instead. The `*_backend_only` tags are now redundant.
|
|
66
|
+
|
|
33
67
|
## [4.0.2] - 2026-01-08
|
|
34
68
|
|
|
35
69
|
- TAG: [v4.0.2][4.0.2t]
|
|
@@ -990,7 +1024,11 @@ Despite the major version bump to 3.0.0 (following semver due to the breaking `L
|
|
|
990
1024
|
|
|
991
1025
|
- Initial release
|
|
992
1026
|
|
|
993
|
-
[Unreleased]: https://github.com/kettle-rb/tree_haver/compare/v4.0.
|
|
1027
|
+
[Unreleased]: https://github.com/kettle-rb/tree_haver/compare/v4.0.4...HEAD
|
|
1028
|
+
[4.0.4]: https://github.com/kettle-rb/tree_haver/compare/v4.0.3...v4.0.4
|
|
1029
|
+
[4.0.4t]: https://github.com/kettle-rb/tree_haver/releases/tag/v4.0.4
|
|
1030
|
+
[4.0.3]: https://github.com/kettle-rb/tree_haver/compare/v4.0.2...v4.0.3
|
|
1031
|
+
[4.0.3t]: https://github.com/kettle-rb/tree_haver/releases/tag/v4.0.3
|
|
994
1032
|
[4.0.2]: https://github.com/kettle-rb/tree_haver/compare/v4.0.1...v4.0.2
|
|
995
1033
|
[4.0.2t]: https://github.com/kettle-rb/tree_haver/releases/tag/v4.0.2
|
|
996
1034
|
[4.0.1]: https://github.com/kettle-rb/tree_haver/compare/v4.0.0...v4.0.1
|
|
@@ -346,11 +346,13 @@ module TreeHaver
|
|
|
346
346
|
|
|
347
347
|
# Check if FFI backend is available WITHOUT loading MRI first
|
|
348
348
|
#
|
|
349
|
-
# This is
|
|
350
|
-
#
|
|
351
|
-
#
|
|
349
|
+
# This method is primarily for backwards compatibility with the legacy
|
|
350
|
+
# :ffi_backend_only tag. The preferred approach is to use the standard
|
|
351
|
+
# :ffi_backend tag, which now also triggers isolated_test_mode when
|
|
352
|
+
# used with --tag ffi_backend.
|
|
352
353
|
#
|
|
353
354
|
# @return [Boolean] true if FFI backend is usable in isolation
|
|
355
|
+
# @deprecated Use :ffi_backend tag instead of :ffi_backend_only
|
|
354
356
|
def ffi_backend_only_available?
|
|
355
357
|
# If TREE_HAVER_BACKEND explicitly selects a different native backend,
|
|
356
358
|
# FFI is not available for testing
|
|
@@ -1044,14 +1046,25 @@ RSpec.configure do |config|
|
|
|
1044
1046
|
end
|
|
1045
1047
|
end
|
|
1046
1048
|
|
|
1049
|
+
# Check if we're running isolated backend tests using standard backend tags
|
|
1050
|
+
# When running with --tag ffi_backend (or other native backend tags), we need
|
|
1051
|
+
# to block conflicting backends to prevent them from loading first.
|
|
1052
|
+
# This replaces the old *_backend_only pattern with the standard *_backend tags.
|
|
1047
1053
|
TreeHaver::Backends::BLOCKED_BY.each do |backend, blockers|
|
|
1048
|
-
# Check if we're running this backend's
|
|
1049
|
-
|
|
1050
|
-
if inclusion_rules[
|
|
1054
|
+
# Check if we're running this backend's tests using standard tag (e.g., :ffi_backend)
|
|
1055
|
+
standard_tag = :"#{backend}_backend"
|
|
1056
|
+
if inclusion_rules[standard_tag]
|
|
1051
1057
|
isolated_test_mode = true
|
|
1052
1058
|
# Add all backends that would block this one
|
|
1053
1059
|
blockers.each { |blocker| blocked_backends << blocker }
|
|
1054
1060
|
end
|
|
1061
|
+
|
|
1062
|
+
# Also support legacy *_backend_only tags for backwards compatibility
|
|
1063
|
+
legacy_tag = :"#{backend}_backend_only"
|
|
1064
|
+
if inclusion_rules[legacy_tag]
|
|
1065
|
+
isolated_test_mode = true
|
|
1066
|
+
blockers.each { |blocker| blocked_backends << blocker }
|
|
1067
|
+
end
|
|
1055
1068
|
end
|
|
1056
1069
|
|
|
1057
1070
|
# Store blocked_backends in a module variable so before(:suite) can access it
|
|
@@ -1060,11 +1073,17 @@ RSpec.configure do |config|
|
|
|
1060
1073
|
|
|
1061
1074
|
# Now configure exclusions, skipping availability checks for blocked backends
|
|
1062
1075
|
backend_tags.each do |backend, tag|
|
|
1063
|
-
next if blocked_backends.include?(backend)
|
|
1064
|
-
|
|
1065
1076
|
# FFI is handled specially with before(:each) hook above
|
|
1066
1077
|
next if backend == :ffi
|
|
1067
1078
|
|
|
1079
|
+
# If this backend is in blocked_backends, we exclude its tests WITHOUT checking
|
|
1080
|
+
# availability. This prevents loading a conflicting backend while still ensuring
|
|
1081
|
+
# tests for unavailable backends are skipped.
|
|
1082
|
+
if blocked_backends.include?(backend)
|
|
1083
|
+
config.filter_run_excluding(tag => true)
|
|
1084
|
+
next
|
|
1085
|
+
end
|
|
1086
|
+
|
|
1068
1087
|
availability_method = backend_availability_methods[backend]
|
|
1069
1088
|
config.filter_run_excluding(tag => true) unless deps.public_send(availability_method)
|
|
1070
1089
|
end
|
data/lib/tree_haver/version.rb
CHANGED
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tree_haver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.0.
|
|
4
|
+
version: 4.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -298,10 +298,10 @@ licenses:
|
|
|
298
298
|
- MIT
|
|
299
299
|
metadata:
|
|
300
300
|
homepage_uri: https://tree-haver.galtzo.com/
|
|
301
|
-
source_code_uri: https://github.com/kettle-rb/tree_haver/tree/v4.0.
|
|
302
|
-
changelog_uri: https://github.com/kettle-rb/tree_haver/blob/v4.0.
|
|
301
|
+
source_code_uri: https://github.com/kettle-rb/tree_haver/tree/v4.0.4
|
|
302
|
+
changelog_uri: https://github.com/kettle-rb/tree_haver/blob/v4.0.4/CHANGELOG.md
|
|
303
303
|
bug_tracker_uri: https://github.com/kettle-rb/tree_haver/issues
|
|
304
|
-
documentation_uri: https://www.rubydoc.info/gems/tree_haver/4.0.
|
|
304
|
+
documentation_uri: https://www.rubydoc.info/gems/tree_haver/4.0.4
|
|
305
305
|
funding_uri: https://github.com/sponsors/pboling
|
|
306
306
|
wiki_uri: https://github.com/kettle-rb/tree_haver/wiki
|
|
307
307
|
news_uri: https://www.railsbling.com/tags/tree_haver
|
metadata.gz.sig
CHANGED
|
Binary file
|