test-unit-ruby-core 1.0.8 → 1.0.9

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/envutil.rb +2 -1
  3. data/lib/memory_status.rb +60 -40
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd98ff260648ee2456653769b0d62498de82504c7503d7a819195b0aa0ca19cf
4
- data.tar.gz: a88004e98851e791fbbdf2441d927108f32d0ab3fc9e439c48852aac131287f4
3
+ metadata.gz: 3c827aeceb3fd1980fbc22e68e631c888f61852201f5a71d222137dccec7813e
4
+ data.tar.gz: f39f342ed03b29005052935840fca12eef139092dc6a9f30d53621e3947fa8d4
5
5
  SHA512:
6
- metadata.gz: 1856091125153792795a0da717dc1ace6ca6082ea382bb2822d09729fc9cd17b6040ebfa23daeb67cbc245c74b28ea9776e54faa8e70973d8efd92846401a674
7
- data.tar.gz: e2d76e33fb30ba8cd0cfe66e6ec284dd27933bd7cc3fa30127a45e68a8f8a917f28772680e45694f9c9c0020c1061cfc4cc9d9c9780f428a309403e21f9b53a8
6
+ metadata.gz: 38241758387cdd981ea6864ecab402c39d725ad38aea3b27835f73037c856a9a6c4b0792f671696d07f4ec9bfcf909d5c53a3dca31cd3076eb166d74d66e633d
7
+ data.tar.gz: 03e2d05f411ba5ccd86b1a82cb0aead6766ad13150a51c7d543d9a7fe266931c7744a562cce85f12a6c9c90317e481fdba70f7fd8a9d1a3ab30a815db5c85adb
data/lib/envutil.rb CHANGED
@@ -225,7 +225,8 @@ module EnvUtil
225
225
 
226
226
  args = [args] if args.kind_of?(String)
227
227
  # use the same parser as current ruby
228
- if args.none? { |arg| arg.start_with?("--parser=") }
228
+ if (args.none? { |arg| arg.start_with?("--parser=") } and
229
+ /^ +--parser=/ =~ IO.popen([rubybin, "--help"], &:read))
229
230
  args = ["--parser=#{current_parser}"] + args
230
231
  end
231
232
  pid = spawn(child_env, *precommand, rubybin, *args, opt)
data/lib/memory_status.rb CHANGED
@@ -20,48 +20,68 @@ module Memory
20
20
  data.scan(pat) {|k, v| keys << k.downcase.intern}
21
21
 
22
22
  when /mswin|mingw/ =~ RUBY_PLATFORM
23
- require 'fiddle/import'
24
- require 'fiddle/types'
25
-
26
- module Win32
27
- extend Fiddle::Importer
28
- dlload "kernel32.dll", "psapi.dll"
29
- include Fiddle::Win32Types
30
- typealias "SIZE_T", "size_t"
31
-
32
- PROCESS_MEMORY_COUNTERS = struct [
33
- "DWORD cb",
34
- "DWORD PageFaultCount",
35
- "SIZE_T PeakWorkingSetSize",
36
- "SIZE_T WorkingSetSize",
37
- "SIZE_T QuotaPeakPagedPoolUsage",
38
- "SIZE_T QuotaPagedPoolUsage",
39
- "SIZE_T QuotaPeakNonPagedPoolUsage",
40
- "SIZE_T QuotaNonPagedPoolUsage",
41
- "SIZE_T PagefileUsage",
42
- "SIZE_T PeakPagefileUsage",
43
- ]
44
-
45
- typealias "PPROCESS_MEMORY_COUNTERS", "PROCESS_MEMORY_COUNTERS*"
46
-
47
- extern "HANDLE GetCurrentProcess()", :stdcall
48
- extern "BOOL GetProcessMemoryInfo(HANDLE, PPROCESS_MEMORY_COUNTERS, DWORD)", :stdcall
49
-
50
- module_function
51
- def memory_info
52
- size = PROCESS_MEMORY_COUNTERS.size
53
- data = PROCESS_MEMORY_COUNTERS.malloc
54
- data.cb = size
55
- data if GetProcessMemoryInfo(GetCurrentProcess(), data, size)
23
+ keys.push(:size, :rss, :peak)
24
+
25
+ begin
26
+ require 'fiddle/import'
27
+ require 'fiddle/types'
28
+ rescue LoadError
29
+ # Fallback to PowerShell command to get memory information for current process
30
+ def self.read_status
31
+ cmd = [
32
+ "powershell.exe", "-NoProfile", "-Command",
33
+ "Get-Process -Id #{$$} | " \
34
+ "% { Write-Output $_.PagedMemorySize64 $_.WorkingSet64 $_.PeakWorkingSet64 }"
35
+ ]
36
+
37
+ IO.popen(cmd, "r", err: [:child, :out]) do |out|
38
+ if /^(\d+)\n(\d+)\n(\d+)$/ =~ out.read
39
+ yield :size, $1.to_i
40
+ yield :rss, $2.to_i
41
+ yield :peak, $3.to_i
42
+ end
43
+ end
44
+ end
45
+ else
46
+ module Win32
47
+ extend Fiddle::Importer
48
+ dlload "kernel32.dll", "psapi.dll"
49
+ include Fiddle::Win32Types
50
+ typealias "SIZE_T", "size_t"
51
+
52
+ PROCESS_MEMORY_COUNTERS = struct [
53
+ "DWORD cb",
54
+ "DWORD PageFaultCount",
55
+ "SIZE_T PeakWorkingSetSize",
56
+ "SIZE_T WorkingSetSize",
57
+ "SIZE_T QuotaPeakPagedPoolUsage",
58
+ "SIZE_T QuotaPagedPoolUsage",
59
+ "SIZE_T QuotaPeakNonPagedPoolUsage",
60
+ "SIZE_T QuotaNonPagedPoolUsage",
61
+ "SIZE_T PagefileUsage",
62
+ "SIZE_T PeakPagefileUsage",
63
+ ]
64
+
65
+ typealias "PPROCESS_MEMORY_COUNTERS", "PROCESS_MEMORY_COUNTERS*"
66
+
67
+ extern "HANDLE GetCurrentProcess()", :stdcall
68
+ extern "BOOL GetProcessMemoryInfo(HANDLE, PPROCESS_MEMORY_COUNTERS, DWORD)", :stdcall
69
+
70
+ module_function
71
+ def memory_info
72
+ size = PROCESS_MEMORY_COUNTERS.size
73
+ data = PROCESS_MEMORY_COUNTERS.malloc
74
+ data.cb = size
75
+ data if GetProcessMemoryInfo(GetCurrentProcess(), data, size)
76
+ end
56
77
  end
57
- end
58
78
 
59
- keys.push(:size, :rss, :peak)
60
- def self.read_status
61
- if info = Win32.memory_info
62
- yield :size, info.PagefileUsage
63
- yield :rss, info.WorkingSetSize
64
- yield :peak, info.PeakWorkingSetSize
79
+ def self.read_status
80
+ if info = Win32.memory_info
81
+ yield :size, info.PagefileUsage
82
+ yield :rss, info.WorkingSetSize
83
+ yield :peak, info.PeakWorkingSetSize
84
+ end
65
85
  end
66
86
  end
67
87
  when (require_relative 'find_executable'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-unit-ruby-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi SHIBATA
8
8
  - Nobu Nakada
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2025-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-unit
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  requirements: []
60
- rubygems_version: 3.8.0.dev
60
+ rubygems_version: 3.6.7
61
61
  specification_version: 4
62
62
  summary: Additional test assertions for Ruby standard libraries.
63
63
  test_files: []