pseudo_cleaner 0.0.46 → 0.0.47
Sign up to get free protection for your applications and to get access to all the features.
- 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
|