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 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