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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MTRiN2Y5Yzk0OTQ2Y2Y1YWNiNjMyOGJlYzFhNjBmOGNiNWMyMjVkZQ==
4
+ YzY4NTJmZTA2N2VmNDc2NWVhZjM3ZWZhYTBlNjc0ZWFlMGZiNGQ0Mg==
5
5
  data.tar.gz: !binary |-
6
- ZjM5OTY4Yzk5ZDA1YmRjOTkxNmY1MmU1NGQ5MjJlNmQzMDU4NjI3MQ==
6
+ MGIyOGM2YjI3YmE5MDJjZDMxOGFiZTFmNTU1MTFlNTQ2Nzc2MmFhMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MzRkYjQ0MTU4NzQyOWFjNzdlYWE3NjM2MDE1MDUwYTBjNDRhZDRiOWM4Y2E3
10
- NTM4MThjZDBiMjg1ZGJkNGEzNDE0NzM0ZDljZmY5YzQ1NGNiZmU0NWI0ODk2
11
- YWFkYjhmMmZlZmM4ZjRlYTE2Mjc3ZDA4OTcwZmEyMzUyMTA2OGM=
9
+ OWU5MmY1YjdjMDNjMWFkYjY1YTljMWNhYmI2YzU1NWM5OGMwYjE0ZjQxNDEx
10
+ YWYwZDBmODA2ZWUxM2EzNDNlMzE1NmNmYWUzM2M3OTVjMGY2YzlmYWU2ZmFh
11
+ YWQ1ODg5MzM2YWFmMjZhODkxZWVlMmI3NWZkMDdlZDg4OTkzNDg=
12
12
  data.tar.gz: !binary |-
13
- ZDY5MWQ0NTc2ZDMxMTdkNmMxMjhmZjYyN2NiN2UxODliZDRiMWI3NDU0NTdk
14
- MWNlNzUyOGJiNzJiNDE1ZDA5ZWU5NzY3M2FmMTZhOTcyNDlmYTVhOWI1YzFm
15
- NTFjOWY3OTY5ZDUzYTBkMWM2ZDFlZGQ0NmY4YmFiYWQwZWE2MTk=
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
@@ -1,3 +1,3 @@
1
1
  module PseudoCleaner
2
- VERSION = "0.0.46"
2
+ VERSION = "0.0.47"
3
3
  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.46
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-08 00:00:00.000000000 Z
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize