thread_weaver 0.1.0

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.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +19 -0
  3. data/.gitignore +59 -0
  4. data/.rspec +3 -0
  5. data/.vscode/settings.json +14 -0
  6. data/CHANGELOG.md +7 -0
  7. data/Gemfile +17 -0
  8. data/LICENSE +21 -0
  9. data/README.md +37 -0
  10. data/Rakefile +13 -0
  11. data/bin/console +15 -0
  12. data/bin/gem_smoke_test +10 -0
  13. data/bin/setup +8 -0
  14. data/examples/always_deadlocks.rb +15 -0
  15. data/examples/takes_a_while.rb +7 -0
  16. data/examples/thread_safe_nonblocking_run_at_most_once.rb +23 -0
  17. data/examples/thread_safe_run_at_most_once.rb +19 -0
  18. data/examples/thread_unsafe_run_at_most_once.rb +17 -0
  19. data/lib/thread_weaver.rb +15 -0
  20. data/lib/thread_weaver/controllable_thread.rb +177 -0
  21. data/lib/thread_weaver/iterative_race_detector.rb +178 -0
  22. data/lib/thread_weaver/thread_instruction.rb +68 -0
  23. data/lib/thread_weaver/version.rb +6 -0
  24. data/sorbet/config +2 -0
  25. data/sorbet/rbi/gems/ast.rbi +48 -0
  26. data/sorbet/rbi/gems/coderay.rbi +285 -0
  27. data/sorbet/rbi/gems/method_source.rbi +64 -0
  28. data/sorbet/rbi/gems/parallel.rbi +83 -0
  29. data/sorbet/rbi/gems/parser.rbi +1510 -0
  30. data/sorbet/rbi/gems/pry-nav.rbi +29 -0
  31. data/sorbet/rbi/gems/pry.rbi +1965 -0
  32. data/sorbet/rbi/gems/rainbow.rbi +118 -0
  33. data/sorbet/rbi/gems/rake.rbi +645 -0
  34. data/sorbet/rbi/gems/regexp_parser.rbi +920 -0
  35. data/sorbet/rbi/gems/rexml.rbi +589 -0
  36. data/sorbet/rbi/gems/rspec-core.rbi +1893 -0
  37. data/sorbet/rbi/gems/rspec-expectations.rbi +1148 -0
  38. data/sorbet/rbi/gems/rspec-mocks.rbi +1091 -0
  39. data/sorbet/rbi/gems/rspec-support.rbi +280 -0
  40. data/sorbet/rbi/gems/rspec.rbi +15 -0
  41. data/sorbet/rbi/gems/rubocop-ast.rbi +1351 -0
  42. data/sorbet/rbi/gems/rubocop-performance.rbi +471 -0
  43. data/sorbet/rbi/gems/rubocop.rbi +7510 -0
  44. data/sorbet/rbi/gems/ruby-progressbar.rbi +305 -0
  45. data/sorbet/rbi/gems/standard.rbi +141 -0
  46. data/sorbet/rbi/gems/unicode-display_width.rbi +17 -0
  47. data/sorbet/rbi/hidden-definitions/errors.txt +4309 -0
  48. data/sorbet/rbi/hidden-definitions/hidden.rbi +8622 -0
  49. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +276 -0
  50. data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +149 -0
  51. data/sorbet/rbi/todo.rbi +6 -0
  52. data/thread_weaver.gemspec +34 -0
  53. metadata +111 -0
metadata ADDED
@@ -0,0 +1,111 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: thread_weaver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Hamon
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-12-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sorbet-runtime
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description:
28
+ email:
29
+ - and.ham95@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".github/workflows/main.yml"
35
+ - ".gitignore"
36
+ - ".rspec"
37
+ - ".vscode/settings.json"
38
+ - CHANGELOG.md
39
+ - Gemfile
40
+ - LICENSE
41
+ - README.md
42
+ - Rakefile
43
+ - bin/console
44
+ - bin/gem_smoke_test
45
+ - bin/setup
46
+ - examples/always_deadlocks.rb
47
+ - examples/takes_a_while.rb
48
+ - examples/thread_safe_nonblocking_run_at_most_once.rb
49
+ - examples/thread_safe_run_at_most_once.rb
50
+ - examples/thread_unsafe_run_at_most_once.rb
51
+ - lib/thread_weaver.rb
52
+ - lib/thread_weaver/controllable_thread.rb
53
+ - lib/thread_weaver/iterative_race_detector.rb
54
+ - lib/thread_weaver/thread_instruction.rb
55
+ - lib/thread_weaver/version.rb
56
+ - sorbet/config
57
+ - sorbet/rbi/gems/ast.rbi
58
+ - sorbet/rbi/gems/coderay.rbi
59
+ - sorbet/rbi/gems/method_source.rbi
60
+ - sorbet/rbi/gems/parallel.rbi
61
+ - sorbet/rbi/gems/parser.rbi
62
+ - sorbet/rbi/gems/pry-nav.rbi
63
+ - sorbet/rbi/gems/pry.rbi
64
+ - sorbet/rbi/gems/rainbow.rbi
65
+ - sorbet/rbi/gems/rake.rbi
66
+ - sorbet/rbi/gems/regexp_parser.rbi
67
+ - sorbet/rbi/gems/rexml.rbi
68
+ - sorbet/rbi/gems/rspec-core.rbi
69
+ - sorbet/rbi/gems/rspec-expectations.rbi
70
+ - sorbet/rbi/gems/rspec-mocks.rbi
71
+ - sorbet/rbi/gems/rspec-support.rbi
72
+ - sorbet/rbi/gems/rspec.rbi
73
+ - sorbet/rbi/gems/rubocop-ast.rbi
74
+ - sorbet/rbi/gems/rubocop-performance.rbi
75
+ - sorbet/rbi/gems/rubocop.rbi
76
+ - sorbet/rbi/gems/ruby-progressbar.rbi
77
+ - sorbet/rbi/gems/standard.rbi
78
+ - sorbet/rbi/gems/unicode-display_width.rbi
79
+ - sorbet/rbi/hidden-definitions/errors.txt
80
+ - sorbet/rbi/hidden-definitions/hidden.rbi
81
+ - sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi
82
+ - sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi
83
+ - sorbet/rbi/todo.rbi
84
+ - thread_weaver.gemspec
85
+ homepage: https://github.com/andrewhamon/thread_weaver_rb
86
+ licenses:
87
+ - MIT
88
+ metadata:
89
+ homepage_uri: https://github.com/andrewhamon/thread_weaver_rb
90
+ source_code_uri: https://github.com/andrewhamon/thread_weaver_rb
91
+ changelog_uri: https://github.com/andrewhamon/thread_weaver_rb/blob/main/CHANGELOG.md
92
+ post_install_message:
93
+ rdoc_options: []
94
+ require_paths:
95
+ - lib
96
+ required_ruby_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 2.7.0
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubygems_version: 3.1.4
108
+ signing_key:
109
+ specification_version: 4
110
+ summary: Tool-assisted thread-safety testing inspired by ThreadWeaver for Java
111
+ test_files: []