pseudo_cleaner 0.0.46 → 0.0.47
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 +8 -8
- data/lib/pseudo_cleaner/configuration.rb +2 -0
- data/lib/pseudo_cleaner/redis_cleaner.rb +78 -8
- data/lib/pseudo_cleaner/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzY4NTJmZTA2N2VmNDc2NWVhZjM3ZWZhYTBlNjc0ZWFlMGZiNGQ0Mg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MGIyOGM2YjI3YmE5MDJjZDMxOGFiZTFmNTU1MTFlNTQ2Nzc2MmFhMg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OWU5MmY1YjdjMDNjMWFkYjY1YTljMWNhYmI2YzU1NWM5OGMwYjE0ZjQxNDEx
|
10
|
+
YWYwZDBmODA2ZWUxM2EzNDNlMzE1NmNmYWUzM2M3OTVjMGY2YzlmYWU2ZmFh
|
11
|
+
YWQ1ODg5MzM2YWFmMjZhODkxZWVlMmI3NWZkMDdlZDg4OTkzNDg=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MmQ5NjEyZTlmYjEwMDVhYjI2MmJlMjdjZTExZmMzZjhiMzc1ZDMzMmFmM2Nj
|
14
|
+
MjYwMmJlODY2ZWZkY2QxNWM2NmRjODgyNGEyMDI0NmM0OGU5ZTZjMWRjNmRh
|
15
|
+
NWFkYTBkYjBiZWMwNTFjZTdkMzYxOGJjMDNjMWQ4YjM4YjhkYmE=
|
@@ -20,6 +20,7 @@ module PseudoCleaner
|
|
20
20
|
attr_accessor :enable_full_data_dump_tag
|
21
21
|
attr_accessor :disable_cornucopia_output
|
22
22
|
attr_accessor :benchmark
|
23
|
+
attr_accessor :redis_track_reads
|
23
24
|
|
24
25
|
def self.current_instance
|
25
26
|
self.instance
|
@@ -37,6 +38,7 @@ module PseudoCleaner
|
|
37
38
|
@enable_full_data_dump_tag = true
|
38
39
|
@disable_cornucopia_output = false
|
39
40
|
@benchmark = false
|
41
|
+
@redis_track_reads = false
|
40
42
|
end
|
41
43
|
|
42
44
|
# Backwards comaptibility...
|
@@ -355,6 +355,7 @@ module PseudoCleaner
|
|
355
355
|
clear_set :@initial_keys
|
356
356
|
clear_set :@suite_altered_keys
|
357
357
|
clear_set :@updated_keys
|
358
|
+
clear_set :@read_keys
|
358
359
|
clear_list_array :@multi_commands
|
359
360
|
set_value_bool :@in_multi, false
|
360
361
|
set_value_bool :@in_redis_cleanup, false
|
@@ -478,6 +479,10 @@ module PseudoCleaner
|
|
478
479
|
if response
|
479
480
|
add_set_values :@updated_keys, *extract_keys(*args)
|
480
481
|
end
|
482
|
+
elsif track_reads && READ_COMMANDS.include?(args[0])
|
483
|
+
extract_keys(*args).each do |value|
|
484
|
+
add_set_value :@read_keys, "\"#{value}\" - \"#{response}\""
|
485
|
+
end
|
481
486
|
end
|
482
487
|
end
|
483
488
|
end
|
@@ -614,9 +619,10 @@ module PseudoCleaner
|
|
614
619
|
time = Benchmark.measure do
|
615
620
|
puts " RedisCleaner(#{redis_name})" if PseudoCleaner::Configuration.instance.benchmark
|
616
621
|
|
617
|
-
synchronize_test_values do |test_values|
|
618
|
-
if test_values && !test_values.empty?
|
622
|
+
synchronize_test_values do |test_values, read_values|
|
623
|
+
if (test_values && !test_values.empty?) || (read_values && !read_values.empty?)
|
619
624
|
report_dirty_values "values altered before the test started", test_values
|
625
|
+
report_dirty_values "values read before the test started", read_values if track_reads
|
620
626
|
|
621
627
|
test_values.each do |value|
|
622
628
|
redis.del value unless set_includes?(:@initial_keys, value)
|
@@ -625,6 +631,7 @@ module PseudoCleaner
|
|
625
631
|
end
|
626
632
|
|
627
633
|
clear_set :@updated_keys
|
634
|
+
clear_set :@read_keys
|
628
635
|
end
|
629
636
|
|
630
637
|
puts " RedisCleaner(#{redis_name}) time: #{time}" if PseudoCleaner::Configuration.instance.benchmark
|
@@ -634,12 +641,13 @@ module PseudoCleaner
|
|
634
641
|
time = Benchmark.measure do
|
635
642
|
puts " RedisCleaner(#{redis_name})" if PseudoCleaner::Configuration.instance.benchmark
|
636
643
|
|
637
|
-
synchronize_test_values do |updated_values|
|
638
|
-
if updated_values && !updated_values.empty?
|
644
|
+
synchronize_test_values do |updated_values, read_values|
|
645
|
+
if (updated_values && !updated_values.empty?) || (read_values && !read_values.empty?)
|
639
646
|
report_keys = []
|
640
647
|
|
641
648
|
if @options[:output_diagnostics]
|
642
649
|
report_dirty_values "updated values", updated_values
|
650
|
+
report_dirty_values "read values", read_values if track_reads
|
643
651
|
end
|
644
652
|
|
645
653
|
updated_values.each do |value|
|
@@ -656,6 +664,7 @@ module PseudoCleaner
|
|
656
664
|
end
|
657
665
|
|
658
666
|
clear_set :@updated_keys
|
667
|
+
clear_set :@read_keys
|
659
668
|
end
|
660
669
|
|
661
670
|
puts " RedisCleaner(#{redis_name}) time: #{time}" if PseudoCleaner::Configuration.instance.benchmark
|
@@ -708,7 +717,7 @@ module PseudoCleaner
|
|
708
717
|
time = Benchmark.measure do
|
709
718
|
puts " RedisCleaner(#{redis_name})" if PseudoCleaner::Configuration.instance.benchmark
|
710
719
|
|
711
|
-
synchronize_test_values do |updated_values|
|
720
|
+
synchronize_test_values do |updated_values, read_values|
|
712
721
|
if updated_values && !updated_values.empty?
|
713
722
|
updated_values.each do |updated_value|
|
714
723
|
unless ignore_key(updated_value)
|
@@ -726,18 +735,37 @@ module PseudoCleaner
|
|
726
735
|
time = Benchmark.measure do
|
727
736
|
puts " RedisCleaner(#{redis_name})" if PseudoCleaner::Configuration.instance.benchmark
|
728
737
|
|
729
|
-
synchronize_test_values do |updated_values|
|
730
|
-
if updated_values && !updated_values.empty?
|
738
|
+
synchronize_test_values do |updated_values, read_values|
|
739
|
+
if (updated_values && !updated_values.empty?) || (read_values && !read_values.empty?)
|
731
740
|
output_values = false
|
732
741
|
|
742
|
+
updated_values = updated_values.select { |value| !ignore_key(value) }
|
743
|
+
read_values = read_values.select { |value| !ignore_key(value) }
|
733
744
|
if PseudoCleaner::MasterCleaner.report_table
|
734
745
|
Cornucopia::Util::ReportTable.new(nested_table: PseudoCleaner::MasterCleaner.report_table,
|
735
746
|
nested_table_label: redis_name,
|
736
747
|
suppress_blank_table: true) do |report_table|
|
737
748
|
updated_values.each_with_index do |updated_value, index|
|
749
|
+
updated_value, read_value = split_read_values(updated_value)
|
738
750
|
unless ignore_key(updated_value)
|
739
751
|
output_values = true
|
740
752
|
report_table.write_stats index.to_s, report_record(updated_value)
|
753
|
+
report_table.write_stats "", read_value if read_value
|
754
|
+
end
|
755
|
+
end
|
756
|
+
end
|
757
|
+
|
758
|
+
if track_reads
|
759
|
+
Cornucopia::Util::ReportTable.new(nested_table: PseudoCleaner::MasterCleaner.report_table,
|
760
|
+
nested_table_label: "#{redis_name} - reads",
|
761
|
+
suppress_blank_table: true) do |report_table|
|
762
|
+
read_values.each_with_index do |updated_value, index|
|
763
|
+
updated_value, read_value = split_read_values(updated_value)
|
764
|
+
unless ignore_key(updated_value)
|
765
|
+
output_values = true
|
766
|
+
report_table.write_stats index.to_s, report_record(updated_value)
|
767
|
+
report_table.write_stats "", read_value if read_value
|
768
|
+
end
|
741
769
|
end
|
742
770
|
end
|
743
771
|
end
|
@@ -745,9 +773,24 @@ module PseudoCleaner
|
|
745
773
|
PseudoCleaner::Logger.write(" #{redis_name}")
|
746
774
|
|
747
775
|
updated_values.each_with_index do |updated_value, index|
|
776
|
+
updated_value, read_value = split_read_values(updated_value)
|
748
777
|
unless ignore_key(updated_value)
|
749
778
|
output_values = true
|
750
779
|
PseudoCleaner::Logger.write(" #{index}: #{report_record(updated_value)}")
|
780
|
+
PseudoCleaner::Logger.write(" #{read_value}") if read_value
|
781
|
+
end
|
782
|
+
end
|
783
|
+
|
784
|
+
if track_reads
|
785
|
+
PseudoCleaner::Logger.write(" #{redis_name} - reads")
|
786
|
+
|
787
|
+
read_values.each_with_index do |updated_value, index|
|
788
|
+
updated_value, read_value = split_read_values(updated_value)
|
789
|
+
unless ignore_key(updated_value)
|
790
|
+
output_values = true
|
791
|
+
PseudoCleaner::Logger.write(" #{index}: #{report_record(updated_value)}")
|
792
|
+
PseudoCleaner::Logger.write(" #{read_value}") if read_value
|
793
|
+
end
|
751
794
|
end
|
752
795
|
end
|
753
796
|
end
|
@@ -789,6 +832,8 @@ module PseudoCleaner
|
|
789
832
|
NIL_FAIL_COMMANDS.include?(args[0]) ||
|
790
833
|
NUM_CHANGED_COMMANDS.include?(args[0])
|
791
834
|
add_set_values :@updated_keys, *extract_keys(*args)
|
835
|
+
elsif track_reads && READ_COMMANDS.include?(args[0])
|
836
|
+
add_set_values :@read_keys, *extract_keys(*args)
|
792
837
|
end
|
793
838
|
end
|
794
839
|
|
@@ -797,11 +842,12 @@ module PseudoCleaner
|
|
797
842
|
end
|
798
843
|
|
799
844
|
updated_values = get_set(:@updated_keys).dup
|
845
|
+
read_values = get_set(:@read_keys).dup
|
800
846
|
|
801
847
|
set_value_bool :@in_redis_cleanup, true
|
802
848
|
|
803
849
|
begin
|
804
|
-
block.yield updated_values
|
850
|
+
block.yield updated_values, read_values
|
805
851
|
ensure
|
806
852
|
set_value_bool :@in_redis_cleanup, false
|
807
853
|
end
|
@@ -812,6 +858,7 @@ module PseudoCleaner
|
|
812
858
|
clear_set :@initial_keys, redis_keys
|
813
859
|
clear_set :@suite_altered_keys
|
814
860
|
clear_set :@updated_keys
|
861
|
+
clear_set :@read_keys
|
815
862
|
clear_list_array :@multi_commands
|
816
863
|
set_value_bool :@in_multi, false
|
817
864
|
set_value_bool :@in_redis_cleanup, false
|
@@ -862,7 +909,18 @@ module PseudoCleaner
|
|
862
909
|
key_hash
|
863
910
|
end
|
864
911
|
|
912
|
+
def split_read_values(key)
|
913
|
+
if key =~ /\".*\" - \".*\"/
|
914
|
+
vals = key.split("\" - \"")
|
915
|
+
[vals[0][1..-1], vals[1..-1].join("\" - \"")[0..-2]]
|
916
|
+
else
|
917
|
+
[key, nil]
|
918
|
+
end
|
919
|
+
end
|
920
|
+
|
865
921
|
def report_dirty_values message, test_values
|
922
|
+
test_values = test_values.select { |value| !ignore_key(split_read_values(value)[0]) }
|
923
|
+
|
866
924
|
if test_values && !test_values.empty?
|
867
925
|
output_values = false
|
868
926
|
|
@@ -872,18 +930,22 @@ module PseudoCleaner
|
|
872
930
|
suppress_blank_table: true) do |report_table|
|
873
931
|
report_table.write_stats "action", message
|
874
932
|
test_values.each_with_index do |key_name, index|
|
933
|
+
key_name, read_value = split_read_values(key_name)
|
875
934
|
unless ignore_key(key_name)
|
876
935
|
output_values = true
|
877
936
|
report_table.write_stats index, report_record(key_name)
|
937
|
+
report_table.write_stats("", read_value) if read_value
|
878
938
|
end
|
879
939
|
end
|
880
940
|
end
|
881
941
|
else
|
882
942
|
test_values.each do |key_name|
|
943
|
+
key_name, read_value = split_read_values(key_name)
|
883
944
|
unless ignore_key(key_name)
|
884
945
|
PseudoCleaner::Logger.write("********* RedisCleaner - #{message}".red.on_light_white) unless output_values
|
885
946
|
output_values = true
|
886
947
|
PseudoCleaner::Logger.write(" #{key_name}: #{report_record(key_name)}".red.on_light_white)
|
948
|
+
PseudoCleaner::Logger.write(" #{read_value}".red.on_light_white) if read_value
|
887
949
|
end
|
888
950
|
end
|
889
951
|
end
|
@@ -959,5 +1021,13 @@ module PseudoCleaner
|
|
959
1021
|
|
960
1022
|
set
|
961
1023
|
end
|
1024
|
+
|
1025
|
+
def track_reads=(value)
|
1026
|
+
@track_reads = value
|
1027
|
+
end
|
1028
|
+
|
1029
|
+
def track_reads
|
1030
|
+
@track_reads ||= PseudoCleaner::Configuration.instance.redis_track_reads
|
1031
|
+
end
|
962
1032
|
end
|
963
1033
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pseudo_cleaner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.47
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RealNobody
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|