Commit:    90500eab112133f325137286e76af9c9121511f7
Author:    Matt Ficken <v-maf...@.redmond.corp.microsoft.com>         Sun, 23 
Oct 2011 21:29:38 -0700
Parents:   f87834959e87e7d4c8f4f13e76a782c2caa457db
Branches:  master

Link:       
http://git.php.net/?p=pftt2.git;a=commitdiff;h=90500eab112133f325137286e76af9c9121511f7

Log:
improvements to reports

Changed paths:
  M  PFTT/lib/report/comparison.rb
  M  PFTT/lib/report/comparison/by_platform/func_build_comparison.rb
  M  PFTT/lib/report/comparison/by_platform/perf_build_comparison.rb
  M  PFTT/lib/report/run/by_host/by_build/by_middleware/func.rb
  M  PFTT/lib/report/run/by_host/by_build/func.rb
  M  PFTT/lib/report/run/per_host/per_build/per_middleware/func.rb
  A  PFTT/lib/report/triage.rb
  A  PFTT/scripts/SDK4Win/PFTT
  D  PFTT/scripts/SDK4Win/PHP
  M  PFTT/scripts/SDK4Win/SetupPHPSDK.cmd
  M  PFTT/scripts/SDK4Win/Welcome.cmd
  A  PFTT/scripts/SDK4Win/git_config.cmd
  A  PFTT/scripts/SDK4Win/net_config.cmd

diff --git a/PFTT/lib/report/comparison.rb b/PFTT/lib/report/comparison.rb
index 82f5314..e9498dd 100644
--- a/PFTT/lib/report/comparison.rb
+++ b/PFTT/lib/report/comparison.rb
@@ -9,14 +9,16 @@ module Report
       end
   
       def resultsets_comparison_url
-        # TODO a.run_id b.run_id
-        'http://pftt_server/compare.php?a=a&b=b'
+        # see Server::PSB
+        
"http://pftt_server/?report=fbc&base=#{@resultset_a.run_id}&test=#{@resultset_b.run_id}";
       end
       
       protected
       
       def diff_file(file_contents_a, file_contents_b)
-        # TODO file diff
+        diff = Diff::Exact.new(file_contents_a, file_contents_b)
+        
+        return diff.to_s
       end
     end
   end
diff --git a/PFTT/lib/report/comparison/by_platform/func_build_comparison.rb 
b/PFTT/lib/report/comparison/by_platform/func_build_comparison.rb
index 2501647..e2882d9 100644
--- a/PFTT/lib/report/comparison/by_platform/func_build_comparison.rb
+++ b/PFTT/lib/report/comparison/by_platform/func_build_comparison.rb
@@ -9,8 +9,7 @@ module Report
         end
   
         def write_intro
-          # TODO time, title
-          "<html><body><h1>#{title}</h1><p>Comparing @resultset_a.title (Base) 
with @resultset_b.title (Test) (using tests current as of 
@resultset_a.test_time</p><p>Click <a href=\"#{resultsets_comparison_url}\" 
target=\"_blank\">here</a> for a customizable comparison</p>"
+          "<html><body><h1>#{title}</h1><p>Comparing #{@resultset_a.title} 
(Base) with #{@resultset_b.title} (Test) (using tests current as of 
#{@resultset_a.test_time}</p><p>Click <a href=\"#{resultsets_comparison_url}\" 
target=\"_blank\">here</a> for a customizable comparison</p>"
         end
   
         def write_end
@@ -29,8 +28,12 @@ module Report
           bgcolor_bad = '#ff0000'
           #
           
+          # table intrinsically does two builds and multiple hosts without 
making extra loops (just loop scenario, middleware and results)
+          
+          # TODO scenario
           [['context_1', 'context_2'], ['context_1', 
'context_3']].each{|ctx_set|
       
+            # TODO middleware
             ['IIS with WinCache', 'IIS', 'Command Line', 'Apache with APC', 
'Apache with APC and IGBinary', 'Apache'].each{|mw_txt|
               
cm.add_row({:text=>(cm.html?)?'<strong>'+mw_txt+'</strong>':mw_txt, 
:colspan=>22, :center=>true})
               cm.add_row(
@@ -55,13 +58,16 @@ module Report
                 {:text=>'', :bgcolor=>bgcolor_telemetry, :colspan=>2}
               )
         
+              windows_ini = posix_ini = ''
+              
               results = ['A Result']
               if results.empty?
                 cm.add_row({:text=>'No Results', :colspan=>22, :center=>true})
               else
-                results.each{|result|
+                # TODO results
+                results.each{|resultset|
                   platform = 'Win 2003r2 x86 SP0, SP1'
-                  pass_rate = 50
+                  pass_rate = resultset.rate
                   change_pass_rate = -5
                   pass = 5000
                   change_pass = -100
@@ -109,26 +115,25 @@ module Report
                   )
       
                 }
-              end
-            }
-      
-            cm.add_row(
-              {:text=>(cm.html?)?'<strong>Windows INI:</strong>':'INI:', 
:colspan=>2},
-              # TODO show INI
-              {:text=>ctx_set.inspect.to_s, :colspan=>20}
-            )
-            cm.add_row(
-              {:text=>(cm.html?)?'<strong>Linux INI:</strong>':'INI:', 
:colspan=>2},
-              # TODO show INI
-              {:text=>ctx_set.inspect.to_s, :colspan=>20}
-            )
+              end # end result
             
-            cm.add_row(
-              {:text=>(cm.html?)?'<strong>Scenarios:</strong>':'Scenarios:', 
:colspan=>2},
-              {:text=>ctx_set.inspect.to_s, :colspan=>20}
-            )
+              cm.add_row(
+                {:text=>(cm.html?)?'<strong>Windows INI:</strong>':'INI:', 
:colspan=>2},
+                {:text=>windows_ini.to_s, :colspan=>20}
+              )
+              cm.add_row(
+                {:text=>(cm.html?)?'<strong>Linux INI:</strong>':'INI:', 
:colspan=>2},
+                {:text=>posix_ini.to_s, :colspan=>20}
+              )
+            
+              cm.add_row(
+                {:text=>(cm.html?)?'<strong>Scenarios:</strong>':'Scenarios:', 
:colspan=>2},
+                {:text=>ctx_set.inspect.to_s, :colspan=>20}
+              )
+            
+            } # end middleware
       
-          }
+          } # end scenario
    
           return cm
         end
diff --git a/PFTT/lib/report/comparison/by_platform/perf_build_comparison.rb 
b/PFTT/lib/report/comparison/by_platform/perf_build_comparison.rb
index f73954d..0f68794 100644
--- a/PFTT/lib/report/comparison/by_platform/perf_build_comparison.rb
+++ b/PFTT/lib/report/comparison/by_platform/perf_build_comparison.rb
@@ -9,8 +9,7 @@ module Report
         end
   
         def write_intro
-          # TODO time, title
-          "<html><body><h1>#{title}</h1><p>Comparing performance of 
@resultset_a.title (Base) with @resultset_b.title (Test)</p><p>Click <a 
href=\"#{resultsets_comparison_url}\" target=\"_blank\">here</a> for a 
customizable comparison</p>"
+          "<html><body><h1>#{title}</h1><p>Comparing performance of 
#{@resultset_a.title} (Base) with #{@resultset_b.title} (Test)</p><p>Click <a 
href=\"#{resultsets_comparison_url}\" target=\"_blank\">here</a> for a 
customizable comparison</p>"
         end
   
         def write_end
diff --git a/PFTT/lib/report/run/by_host/by_build/by_middleware/func.rb 
b/PFTT/lib/report/run/by_host/by_build/by_middleware/func.rb
index 75ac439..b094bb9 100644
--- a/PFTT/lib/report/run/by_host/by_build/by_middleware/func.rb
+++ b/PFTT/lib/report/run/by_host/by_build/by_middleware/func.rb
@@ -5,6 +5,9 @@ module Report
       module ByBuild
         module ByMiddleware
           class Func < Base
+            def title
+              'Functional Run(FR)'
+            end
             def write_text
               # colors to use
               bgcolor_os = '#f2f2f2'
diff --git a/PFTT/lib/report/run/by_host/by_build/func.rb 
b/PFTT/lib/report/run/by_host/by_build/func.rb
index 6f3834f..3ed766c 100644
--- a/PFTT/lib/report/run/by_host/by_build/func.rb
+++ b/PFTT/lib/report/run/by_host/by_build/func.rb
@@ -1,43 +1,43 @@
+
 module Report
   module Run
     module ByHost
       module ByBuild
         class Base < Base
           def write_text
+
+            write_list()
                     
-                    write_list()
-                    
-                    
-                    @builds.each do |build|
-                      build.middlewares.each do |middleware|
+            @builds.each do |build|
+              build.middlewares.each do |middleware|
                         
-                        
Report::Run::ByHost::ByBuild::ByMiddleware::Func.new(build, middleware)
+                Report::Run::ByHost::ByBuild::ByMiddleware::Func.new(build, 
middleware)
                         
-                      end
-                    end
+              end
+            end
                     
-                  end
+          end
                   
-                  def write_list
-                    # TODO list middlewares
-                  end
+          def write_list
+            # TODO list middlewares
+          end
                   
-                  def write_html
-                            
-                    write_list()
+          def write_html
                             
+            write_list()
                             
-                    @builds.each do |build|
-                      build.middlewares.each do |middleware|
+            @builds.each do |build|
+              build.middlewares.each do |middleware|
                                 
-                        
Report::Run::ByHost::ByBuild::ByMiddleware::Func.new(build, middleware)
+                Report::Run::ByHost::ByBuild::ByMiddleware::Func.new(build, 
middleware)
                                 
-                      end
-                    end
+              end
+            end
                             
-                  end
+          end
+          
         end
       end
     end
   end
-end
\ No newline at end of file
+end
diff --git a/PFTT/lib/report/run/per_host/per_build/per_middleware/func.rb 
b/PFTT/lib/report/run/per_host/per_build/per_middleware/func.rb
index 3932766..ad19977 100644
--- a/PFTT/lib/report/run/per_host/per_build/per_middleware/func.rb
+++ b/PFTT/lib/report/run/per_host/per_build/per_middleware/func.rb
@@ -7,6 +7,9 @@ module Report
       module PerBuild
         module PerMiddleware
           class Func < Base
+            def title
+              'Function Host/Build/Middleware Combination Run(FCR)'
+            end
             def write_text
               r = @results # use 'r' because its a shorter name
               
diff --git a/PFTT/lib/report/triage.rb b/PFTT/lib/report/triage.rb
new file mode 100644
index 0000000..c370ca4
--- /dev/null
+++ b/PFTT/lib/report/triage.rb
@@ -0,0 +1,60 @@
+
+module Report
+  class Triage < Base
+    def initialize(tr)
+      @tr = tr
+    end
+    
+    def write_text
+      cm = Util::ColumnManager::Text.new(9)
+      
+      write_table(cm)
+      
+      return "\r\n"+cm.to_s+"\r\n"
+    end
+    
+    def write_html
+      cm = Util::ColumnManager::Html.new
+            
+      write_table(cm)
+            
+      return "\r\n"+cm.to_s+"\r\n"
+    end
+    
+    protected
+    
+    def write_table(cm)
+      cm.add_row(
+        '',
+        {:text=>'Deleted', :colspan=>2},
+        {:text=>'Inserted', :colspan=>2},
+        {:text=>'Changed Length', :colspan=>2},
+        {:text=>'Total', :colspan=>2}
+      )
+      cm.add_row('Warning', @tr.deleted[:warnings].to_s, 
((@tr.deleted[:warnings]/(@tr.deleted[:warnings]+@tr.inserted[:warnings]).to_f)*100.0).to_i.to_s+'%',
 @tr.inserted[:warnings].to_s, 
((@tr.inserted[:warnings]/(@tr.deleted[:warnings]+@tr.inserted[:warnings]).to_f)*100.0).to_i.to_s+'%',
 'n/a', '', (@tr.deleted[:warnings]+@tr.inserted[:warnings]).to_s, 
(((@tr.deleted[:warnings]+@tr.inserted[:warnings])/@tr.total_chunks.to_f)*100.0).to_i.to_s+'%')
+      cm.add_row('Error', @tr.deleted[:errors].to_s, 
((@tr.deleted[:errors]/(@tr.deleted[:errors]+@tr.inserted[:errors]).to_f)*100.0).to_i.to_s+'%',
 @tr.inserted[:errors].to_s, 
((@tr.deleted[:errors]/(@tr.deleted[:errors]+@tr.inserted[:errors]).to_f)*100.0).to_i.to_s+'%',
 'n/a', '', (@tr.deleted[:errors]+@tr.inserted[:errors]).to_s, 
(((@tr.deleted[:errors]+@tr.inserted[:errors])/@tr.total_chunks.to_f)*100.0).to_i.to_s+'%')
+      cm.add_row('Array', @tr.deleted[:arrays].to_s, 
((@tr.deleted[:arrays]/(@tr.deleted[:arrays]+@tr.inserted[:arrays]).to_f)*100.0).to_i.to_s+'%',
 @tr.inserted[:arrays].to_s, 
((@tr.deleted[:arrays]/(@tr.deleted[:arrays]+@tr.inserted[:arrays]).to_f)*100.0).to_i.to_s+'%',
 @tr.changed_len[:arrays].to_s, 
((@tr.changed_len[:arrays]/(@tr.changed_len[:arrays]+@tr.deleted[:arrays]+@tr.inserted[:arrays]).to_f)*100.0).to_i.to_s+'%',
 (@tr.changed_len[:arrays]+@tr.deleted[:arrays]+@tr.inserted[:arrays]).to_s, 
(((@tr.changed_len[:arrays]+@tr.deleted[:arrays]+@tr.inserted[:arrays])/@tr.total_chunks.to_f)*100.0).to_i.to_s+'%')
+      cm.add_row('String', @tr.deleted[:strings].to_s, 
((@tr.deleted[:strings]/(@tr.deleted[:strings]+@tr.inserted[:strings]).to_f)*100.0).to_i.to_s+'%',
 @tr.inserted[:strings].to_s, 
((@tr.deleted[:others]/(@tr.deleted[:others]+@tr.inserted[:others]).to_f)*100.0).to_i.to_s+'%',
 @tr.changed_len[:strings].to_s, 
((@tr.changed_len[:strings]/(@tr.changed_len[:strings]+@tr.deleted[:strings]+@tr.inserted[:strings]).to_f)*100.0).to_i.to_s+'%',
 (@tr.changed_len[:strings]+@tr.deleted[:strings]+@tr.inserted[:strings]).to_s, 
(((@tr.changed_len[:strings]+@tr.deleted[:strings]+@tr.inserted[:strings])/@tr.total_chunks.to_f)*100.0).to_i.to_s+'%')
+      cm.add_row('Other', @tr.deleted[:others].to_s, 
((@tr.deleted[:others]/(@tr.deleted[:others]+@tr.inserted[:others]).to_f)*100.0).to_i.to_s+'%',
 @tr.inserted[:others].to_s, 
((@tr.inserted[:others]/(@tr.deleted[:others]+@tr.inserted[:others]).to_f)*100.0).to_i.to_s+'%',
 'n/a', '', (@tr.deleted[:others]+@tr.inserted[:others]).to_s, 
(((@tr.deleted[:others]+@tr.inserted[:others])/@tr.total_chunks.to_f)*100.0).to_i.to_s+'%')
+      cm.add_row('Total', add(@tr.deleted), 
((add(@tr.deleted)/add(@tr.deleted)+add(@tr.inserted).to_f)*100.0).to_i.to_s+'%',
 add(@tr.inserted), 
((add(@inserted)/add(@tr.deleted)+add(@tr.inserted).to_f)*100.0).to_i.to_s+'%', 
'n/a', '', (add(@tr.deleted)+add(@tr.inserted)).to_s, 
(((add(@tr.deleted)+add(@tr.inserted))/@tr.total_chunks.to_f)*100.0).to_i.to_s+'%')
+      cm.add_row({:text=>'', :colspan=>9})
+      cm.add_row(
+        {:text=>'Total Lines', :colspan=>2},
+        @tr.total_lines.to_s,
+        {:text=>'Total Chunks', :colspan=>2},
+        @tr.total_chunks.to_s,
+        {:text=>'Diff Lines', :colspan=>2},
+        @tr.diff_lines.to_s
+      )
+    end
+    
+    def add(hash)
+      sum = 0
+      hash.values.each do |n|
+        sum += n
+      end
+      return sum
+    end
+    
+  end
+end
diff --git a/PFTT/scripts/SDK4Win/PFTT SDK Shell.lnk 
b/PFTT/scripts/SDK4Win/PFTT SDK Shell.lnk
new file mode 100644
index 0000000..c476640
Binary files /dev/null and b/PFTT/scripts/SDK4Win/PFTT SDK Shell.lnk differ
diff --git a/PFTT/scripts/SDK4Win/PHP SDK Shell.lnk b/PFTT/scripts/SDK4Win/PHP 
SDK Shell.lnk
deleted file mode 100644
index 5f5514d..0000000
Binary files a/PFTT/scripts/SDK4Win/PHP SDK Shell.lnk and /dev/null differ
diff --git a/PFTT/scripts/SDK4Win/SetupPHPSDK.cmd 
b/PFTT/scripts/SDK4Win/SetupPHPSDK.cmd
index 03eb8e9..2f859aa 100644
--- a/PFTT/scripts/SDK4Win/SetupPHPSDK.cmd
+++ b/PFTT/scripts/SDK4Win/SetupPHPSDK.cmd
@@ -5,7 +5,7 @@ set PHP_CMD_SHELL=1
 set PHP_SDK=%SYSTEMDRIVE%\php-sdk
 set PHPT_BRANCH=%PHP_SDK%\svn\branches
 set PHP_BIN=%PHP_SDK%\bin
-set PHP_BUILDS=%PHP_SDK%\builds
+set PHPS=%PHP_SDK%\builds
 set PFTT_HOME=%PHP_SDK%\PFTT2\PFTT
 REM TODO TEMP use regular PFTT_HOME
 set PFTT_HOME=%PHP_SDK%\0\PFTT2\PFTT
@@ -16,12 +16,21 @@ set PHP_DEPS=%PHP_SDK%\deps
 set PHP_DEP_LIBS=%PHP_DEPS\libs
 set PHP_DEP_INCLUDES=%PHP_DEPS\includes
 
+
+set PHP54_TS=%PHPS%\php-5.4-ts-windows-vc9-x86-
+set PHP54_NTS=%PHPS%\php-5.4-nts-windows-vc9-x86-
+set PHP55_TS=%PHPS%\php-5.5-ts-windows-vc9-x86-
+set PHP55_NTS=%PHPS%\php-5.5-nts-windows-vc9-x86-
+
+REM set vars for shared network resources (if client is using a PFTT server)
+CALL %PFTT_HOME%\scripts\SDK4Win\net_config.cmd
+
 REM configure git (for pftt devs/encourge pftt users to become devs)
-CALL %PFTT_HOME%\config\git_conf.cmd
+CALL %PFTT_HOME%\scripts\SDK4Win\git_config.cmd
 
 IF NOT EXIST %PHP_SDK% MKDIR %PHP_SDK%
 IF NOT EXIST %PHPT_BRANCH% MKDIR %PHPT_BRANCH%
-IF NOT EXIST %PHP_BUILDS% MKDIR %PHP_BUILDS%
+IF NOT EXIST %PHPS% MKDIR %PHPS%
 IF NOT EXIST %PFTT_RESULTS% MKDIR %PFTT_RESULTS%
 IF NOT EXIST %PFTT_SCRIPTS% MKDIR %PFTT_SCRIPTS%
 IF NOT EXIST %PFTT_PHPS% MKDIR %PFTT_PHPS%
diff --git a/PFTT/scripts/SDK4Win/Welcome.cmd b/PFTT/scripts/SDK4Win/Welcome.cmd
index 8c2208f..032e8bf 100644
--- a/PFTT/scripts/SDK4Win/Welcome.cmd
+++ b/PFTT/scripts/SDK4Win/Welcome.cmd
@@ -1,15 +1,27 @@
 @echo off
 echo.
-echo    PHP SDK for Windows
-echo      provided with PFTT
+echo    PFTT SDK for Windows
+echo.
 echo.
 echo  These Environment Variables may be useful: 
 echo  PHPT_BRANCH  = %PHPT_BRANCH%
-echo  PHP_BUILDS   = %PHP_BUILDS%
+echo  PHPS         = %PHPS%
+echo  PHP_DEPS     = %PHP_DEPS%
 echo  PFTT_RESULTS = %PFTT_RESULTS%
+
+if DEFINED NET_PFTT_SERVER (
+echo.
+echo  NET_PHPT = shared location with latest PHPTs
+echo  NET_PHPS = shared location with PHP Builds
+echo  NET_PHPS54_TS  = %%NET_PHPS%%\php-5.4-ts-windows-vc9-x86-
+echo  NET_PHPS54_NTS = %%NET_PHPS%%\php-5.4-nts-windows-vc9-x86-
+echo.
+echo  ex: pftt func_full --phpt-dir=%%NET_PHPT%%\PHP_5_4 
--php-dir=%%NET_PHP54_TS%%-r318303
+echo.
+)
+
 echo.
-echo  Run 'pftt' for PFTT Testing, etc...
-echo  Run 'rake' to make or subversion update
+echo  For everything, run 'pftt'
 echo  Run 'last_pftt' to show output from last pftt command
 echo.
 echo.
\ No newline at end of file
diff --git a/PFTT/scripts/SDK4Win/git_config.cmd 
b/PFTT/scripts/SDK4Win/git_config.cmd
new file mode 100644
index 0000000..e69de29
diff --git a/PFTT/scripts/SDK4Win/net_config.cmd 
b/PFTT/scripts/SDK4Win/net_config.cmd
new file mode 100644
index 0000000..a9f6319
--- /dev/null
+++ b/PFTT/scripts/SDK4Win/net_config.cmd
@@ -0,0 +1,15 @@
+
+REM
+set NET_PFTT_SERVER="10.200.40.10"
+
+REM
+set NET_PHPT=\\10.200.40.10\PHP\SVN\Branches
+
+REM
+set NET_PHPS=\\10.200.40.10\PHP\PHP-Builds
+
+
+set NET_PHP54_TS=%NET_PHPS%\php-5.4-ts-windows-vc9-x86-
+set NET_PHP54_NTS=%NET_PHPS%\php-5.4-nts-windows-vc9-x86-
+set NET_PHP55_TS=%NET_PHPS%\php-5.5-ts-windows-vc9-x86-
+set NET_PHP55_NTS=%NET_PHPS%\php-5.5-nts-windows-vc9-x86-
-- 
PHP Quality Assurance Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to