From 85ce6b2513fa12a5f66c532d664e4ba9f2443a12 Mon Sep 17 00:00:00 2001 From: Mark VanderVoord Date: Fri, 28 Feb 2014 10:58:57 -0500 Subject: [PATCH 1/5] Fix encoding issues for anyone using a somewhat modern Ruby (1.9 or greater) --- lib/cmock.rb | 3 ++ lib/cmock_config.rb | 72 ++++++++++++------------- lib/cmock_header_parser.rb | 75 ++++++++++++++------------- test/unit/cmock_header_parser_test.rb | 1 + 4 files changed, 79 insertions(+), 72 deletions(-) diff --git a/lib/cmock.rb b/lib/cmock.rb index 4208dd2..627aa27 100644 --- a/lib/cmock.rb +++ b/lib/cmock.rb @@ -13,6 +13,9 @@ "cmock_generator_utils", "cmock_unityhelper_parser"].each {|req| require "#{File.expand_path(File.dirname(__FILE__))}/#{req}"} + +$QUICK_RUBY_VERSION = RUBY_VERSION.split('.').inject(0){|vv,v| vv * 100 + v.to_i } + class CMock def initialize(options=nil) diff --git a/lib/cmock_config.rb b/lib/cmock_config.rb index 34b27a6..a50cb32 100644 --- a/lib/cmock_config.rb +++ b/lib/cmock_config.rb @@ -2,46 +2,46 @@ # CMock Project - Automatic Mock Generation for C # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams # [Released under MIT License. Please refer to license.txt for details] -# ========================================== +# ========================================== class CMockConfig - - CMockDefaultOptions = + + CMockDefaultOptions = { - :framework => :unity, - :mock_path => 'mocks', - :mock_prefix => 'Mock', - :plugins => [], - :strippables => ['(?:__attribute__\s*\(+.*?\)+)'], - :attributes => ['__ramfunc', '__irq', '__fiq', 'register', 'extern'], - :c_calling_conventions => ['__stdcall', '__cdecl', '__fastcall'], - :enforce_strict_ordering => false, - :unity_helper_path => false, - :treat_as => {}, - :treat_as_void => [], - :memcmp_if_unknown => true, - :when_no_prototypes => :warn, #the options being :ignore, :warn, or :error - :when_ptr => :compare_data, #the options being :compare_ptr, :compare_data, or :smart - :verbosity => 2, #the options being 0 errors only, 1 warnings and errors, 2 normal info, 3 verbose - :treat_externs => :exclude, #the options being :include or :exclude - :ignore => :args_and_calls, #the options being :args_and_calls or :args_only - :callback_include_count => true, - :callback_after_arg_check => false, - :includes => nil, - :includes_h_pre_orig_header => nil, - :includes_h_post_orig_header => nil, - :includes_c_pre_header => nil, - :includes_c_post_header => nil + :framework => :unity, + :mock_path => 'mocks', + :mock_prefix => 'Mock', + :plugins => [], + :strippables => ['(?:__attribute__\s*\(+.*?\)+)'], + :attributes => ['__ramfunc', '__irq', '__fiq', 'register', 'extern'], + :c_calling_conventions => ['__stdcall', '__cdecl', '__fastcall'], + :enforce_strict_ordering => false, + :unity_helper_path => false, + :treat_as => {}, + :treat_as_void => [], + :memcmp_if_unknown => true, + :when_no_prototypes => :warn, #the options being :ignore, :warn, or :error + :when_ptr => :compare_data, #the options being :compare_ptr, :compare_data, or :smart + :verbosity => 2, #the options being 0 errors only, 1 warnings and errors, 2 normal info, 3 verbose + :treat_externs => :exclude, #the options being :include or :exclude + :ignore => :args_and_calls, #the options being :args_and_calls or :args_only + :callback_include_count => true, + :callback_after_arg_check => false, + :includes => nil, + :includes_h_pre_orig_header => nil, + :includes_h_post_orig_header => nil, + :includes_c_pre_header => nil, + :includes_c_post_header => nil, } - + def initialize(options=nil) case(options) - when NilClass then options = CMockDefaultOptions.clone + when NilClass then options = CMockDefaultOptions.clone when String then options = CMockDefaultOptions.clone.merge(load_config_file_from_yaml(options)) when Hash then options = CMockDefaultOptions.clone.merge(options) else raise "If you specify arguments, it should be a filename or a hash of options" end - + #do some quick type verification [:plugins, :attributes, :treat_as_void].each do |opt| unless (options[opt].class == Array) @@ -59,30 +59,30 @@ class CMockConfig options[:plugins].compact! options[:plugins].map! {|p| p.to_sym} @options = options - + treat_as_map = standard_treat_as_map()#.clone treat_as_map.merge!(@options[:treat_as]) @options[:treat_as] = treat_as_map - + @options.each_key { |key| eval("def #{key.to_s}() return @options[:#{key.to_s}] end") } end - + def load_config_file_from_yaml yaml_filename require 'yaml' require 'fileutils' YAML.load_file(yaml_filename)[:cmock] end - + def set_path(path) @src_path = path end - + def load_unity_helper return File.new(@options[:unity_helper_path]).read if (@options[:unity_helper_path]) return nil end - def standard_treat_as_map + def standard_treat_as_map { 'int' => 'INT', 'char' => 'INT8', diff --git a/lib/cmock_header_parser.rb b/lib/cmock_header_parser.rb index 4ae8492..edfaaae 100644 --- a/lib/cmock_header_parser.rb +++ b/lib/cmock_header_parser.rb @@ -2,12 +2,12 @@ # CMock Project - Automatic Mock Generation for C # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams # [Released under MIT License. Please refer to license.txt for details] -# ========================================== +# ========================================== class CMockHeaderParser attr_accessor :funcs, :c_attributes, :treat_as_void, :treat_externs - + def initialize(cfg) @funcs = [] @c_strippables = cfg.strippables @@ -22,31 +22,34 @@ class CMockHeaderParser @treat_externs = cfg.treat_externs @c_strippables += ['extern'] if (@treat_externs == :include) #we'll need to remove the attribute if we're allowing externs end - + def parse(name, source) @module_name = name.gsub(/\W/,'') @typedefs = [] @funcs = [] function_names = [] - - parse_functions( import_source(source) ).map do |decl| + + parse_functions( import_source(source) ).map do |decl| func = parse_declaration(decl) unless (function_names.include? func[:name]) @funcs << func function_names << func[:name] end end - + { :includes => nil, :functions => @funcs, :typedefs => @typedefs } end - + private if $ThisIsOnlyATest.nil? ################ - + def import_source(source) + # let's clean up the encoding in case they've done anything weird with the characters we might find + source = source.force_encoding("ISO-8859-1").encode("utf-8", replace: nil) if ($QUICK_RUBY_VERSION > 10900) + # void must be void for cmock _ExpectAndReturn calls to process properly, not some weird typedef which equates to void # to a certain extent, this action assumes we're chewing on pre-processed header files, otherwise we'll most likely just get stuff from @treat_as_void @local_as_void = @treat_as_void @@ -54,25 +57,25 @@ class CMockHeaderParser if void_types @local_as_void += void_types.flatten.uniq.compact end - + # smush multiline macros into single line (checking for continuation character at end of line '\') source.gsub!(/\s*\\\s*/m, ' ') - + #remove comments (block and line, in three steps to ensure correct precedence) source.gsub!(/\/\/(?:.+\/\*|\*(?:$|[^\/])).*$/, '') # remove line comments that comment out the start of blocks - source.gsub!(/\/\*.*?\*\//m, '') # remove block comments + source.gsub!(/\/\*.*?\*\//m, '') # remove block comments source.gsub!(/\/\/.*$/, '') # remove line comments (all that remain) # remove assembler pragma sections source.gsub!(/^\s*#\s*pragma\s+asm\s+.*?#\s*pragma\s+endasm/m, '') - + # remove gcc's __attribute__ tags source.gsub(/__attrbute__\s*\(\(\.*\)\)/, '') - - # remove preprocessor statements and extern "C" + + # remove preprocessor statements and extern "C" source.gsub!(/^\s*#.*/, '') source.gsub!(/extern\s+\"C\"\s+\{/, '') - + # enums, unions, structs, and typedefs can all contain things (e.g. function pointers) that parse like function prototypes, so yank them # forward declared structs are removed before struct definitions so they don't mess up real thing later. we leave structs keywords in function prototypes source.gsub!(/^[\w\s]*struct[^;\{\}\(\)]+;/m, '') # remove forward declared structs @@ -81,21 +84,21 @@ class CMockHeaderParser source.gsub!(/\s*=\s*['"a-zA-Z0-9_\.]+\s*/, '') # remove default value statements from argument lists source.gsub!(/^(?:[\w\s]*\W)?typedef\W[^;]*/m, '') # remove typedef statements source.gsub!(/(^|\W+)(?:#{@c_strippables.join('|')})(?=$|\W+)/,'\1') unless @c_strippables.empty? # remove known attributes slated to be stripped - + #scan for functions which return function pointers, because they are a pain source.gsub!(/([\w\s\*]+)\(*\(\s*\*([\w\s\*]+)\s*\(([\w\s\*,]*)\)\)\s*\(([\w\s\*,]*)\)\)*/) do |m| functype = "cmock_#{@module_name}_func_ptr#{@typedefs.size + 1}" @typedefs << "typedef #{$1.strip}(*#{functype})(#{$4});" "#{functype} #{$2.strip}(#{$3});" end - + #drop extra white space to make the rest go faster source.gsub!(/^\s+/, '') # remove extra white space from beginning of line source.gsub!(/\s+$/, '') # remove extra white space from end of line source.gsub!(/\s*\(\s*/, '(') # remove extra white space from before left parens source.gsub!(/\s*\)\s*/, ')') # remove extra white space from before right parens source.gsub!(/\s+/, ' ') # remove remaining extra white space - + #split lines on semicolons and remove things that are obviously not what we are looking for src_lines = source.split(/\s*;\s*/) src_lines.delete_if {|line| line.strip.length == 0} # remove blank lines @@ -113,23 +116,23 @@ class CMockHeaderParser if funcs.empty? case @when_no_prototypes when :error - raise "ERROR: No function prototypes found!" + raise "ERROR: No function prototypes found!" when :warn puts "WARNING: No function prototypes found!" unless (@verbosity < 1) end end return funcs end - + def parse_args(arg_list) args = [] arg_list.split(',').each do |arg| - arg.strip! + arg.strip! return args if (arg =~ /^\s*((\.\.\.)|(void))\s*$/) # we're done if we reach void by itself or ... arg_array = arg.split arg_elements = arg_array - @c_attributes # split up words and remove known attributes - args << { :type => (arg_type =arg_elements[0..-2].join(' ')), - :name => arg_elements[-1], + args << { :type => (arg_type =arg_elements[0..-2].join(' ')), + :name => arg_elements[-1], :ptr? => divine_ptr(arg_type), :const? => arg_array.include?('const') } @@ -151,7 +154,7 @@ class CMockHeaderParser arg_list.gsub!(/(\w+)(?:\s*\[[\s\d\w+-]*\])+/,'*\1') # magically turn brackets into asterisks arg_list.gsub!(/\s+\*/,'*') # remove space to place asterisks with type (where they belong) arg_list.gsub!(/\*(\w)/,'* \1') # pull asterisks away from arg to place asterisks with type (where they belong) - + #scan argument list for function pointers and replace them with custom types arg_list.gsub!(/([\w\s\*]+)\(+\s*\*[\*\s]*([\w\s]*)\s*\)+\s*\(((?:[\w\s\*]*,?)*)\s*\)*/) do |m| @@ -168,25 +171,25 @@ class CMockHeaderParser funcname = "cmock_arg#{c+=1}" if (funcname.empty?) "#{functype} #{funconst}#{funcname}" end - + #automatically name unnamed arguments (those that only had a type) - arg_list.split(/\s*,\s*/).map { |arg| + arg_list.split(/\s*,\s*/).map { |arg| parts = (arg.split - ['struct', 'union', 'enum', 'const', 'const*']) if ((parts.size < 2) or (parts[-1][-1].chr == '*') or (@standards.include?(parts[-1]))) - "#{arg} cmock_arg#{c+=1}" + "#{arg} cmock_arg#{c+=1}" else arg end }.join(', ') end end - + def parse_declaration(declaration) decl = {} - + regex_match = @declaration_parse_matcher.match(declaration) - raise "Failed parsing function declaration: '#{declaration}'" if regex_match.nil? - + raise "Failed parsing function declaration: '#{declaration}'" if regex_match.nil? + #grab argument list args = regex_match[2].strip @@ -214,17 +217,17 @@ class CMockHeaderParser decl[:modifier] = decl[:modifier].join(' ') rettype = rettype.join(' ') rettype = 'void' if (@local_as_void.include?(rettype.strip)) - decl[:return] = { :type => rettype, - :name => 'cmock_to_return', + decl[:return] = { :type => rettype, + :name => 'cmock_to_return', :ptr? => divine_ptr(rettype), :const? => rettype.split(/\s/).include?('const'), :str => "#{rettype} cmock_to_return", :void? => (rettype == 'void') } - + #remove default argument statements from mock definitions args.gsub!(/=\s*[a-zA-Z0-9_\.]+\s*/, ' ') - + #check for var args if (args =~ /\.\.\./) decl[:var_arg] = args.match( /[\w\s]*\.\.\./ ).to_s.strip @@ -241,7 +244,7 @@ class CMockHeaderParser decl[:args] = parse_args(args) decl[:args_call] = decl[:args].map{|a| a[:name]}.join(', ') decl[:contains_ptr?] = decl[:args].inject(false) {|ptr, arg| arg[:ptr?] ? true : ptr } - + if (decl[:return][:type].nil? or decl[:name].nil? or decl[:args].nil? or decl[:return][:type].empty? or decl[:name].empty?) raise "Failed Parsing Declaration Prototype!\n" + diff --git a/test/unit/cmock_header_parser_test.rb b/test/unit/cmock_header_parser_test.rb index b82288e..ba8d646 100644 --- a/test/unit/cmock_header_parser_test.rb +++ b/test/unit/cmock_header_parser_test.rb @@ -5,6 +5,7 @@ # ========================================== $ThisIsOnlyATest = true +$QUICK_RUBY_VERSION = RUBY_VERSION.split('.').inject(0){|vv,v| vv * 100 + v.to_i } require File.expand_path(File.dirname(__FILE__)) + "/../test_helper" require 'cmock_header_parser' From f6ef81c269e5a5ec08413e011619fd1b88f725a1 Mon Sep 17 00:00:00 2001 From: Mark VanderVoord Date: Fri, 28 Feb 2014 15:08:38 -0500 Subject: [PATCH 2/5] updated the documents to include all plugins and some other minor tweaks. --- README | 10 ++ docs/CMock Summary.odt | Bin 28233 -> 53186 bytes docs/CMock Summary.pdf | Bin 99268 -> 104340 bytes docs/CMock_Summary.md | 236 +++++++++++++++++++++++------------------ docs/license.txt | 2 +- 5 files changed, 141 insertions(+), 107 deletions(-) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..3c33660 --- /dev/null +++ b/README @@ -0,0 +1,10 @@ +Welcome to CMock. + +* Not sure what you're doing? +** The docs are in /docs +* Interested in our MIT-style license? +** That's in /docs too +* Are there examples? +** Try /examples +* Any other resources to check out? +** Sure. How about ThrowTheSwitch.org diff --git a/docs/CMock Summary.odt b/docs/CMock Summary.odt index fc0457921176f7c8212daa6ac7500232bfb282b0..a37707e6297a498740e50734238a920e96c33450 100644 GIT binary patch delta 42432 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 diff --git a/docs/CMock Summary.pdf b/docs/CMock Summary.pdf index d9be965ce285f50411c24685ccface1351cb8875..fcd7c569c31d8b9a64778419354951760a58abbf 100644 GIT binary patch delta 68954 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 delta 63901 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%0Aw-UM^%1uqk!~4m;dz3#fX@}T2qNfN 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 z z)H)D<8iYJ5d6BO$_&?yk`jA#$k_f*LIRV5a3iB8~XeZ(wkL5xg!HR@l+7vRx$c)me z)nVWgJ?DS!mz56>Lzs$C!+5FHbDXiJ`7TzfUHslJHn-3K^e@_1lTZw!>bZ<{5ZysjU&nIVmkp@^BbMiM{_ zTKaY(I4SAb`L{+qz*M*e(`c=@0k0oKUeIxg_{9`D-p}7IYqdcZAtf~)Fk{XNOAK`YpT{@XyDObK1F!c>nY!NQxUY;aif&nh!6Kqyv0c(ocf1`s@Gc=s ztO?hVBE!HK9yp%E9g}#M_}>elw@4y8M!dzfKn=mrT%rKAMu zZUKP-B&55$8>Bk~q)WPykPwgt>2Kcm{LXjYqu=%0f6T1?%)QoAYp;D>d-lDar$IWn zpMgWPW{qPXxAI+<4#GWT$BFlgj+-w_M0(KF@k72# zELiTjw9-t;(k}FztK94ICMjdXd#OR#jyRDsHp|CDvTrI+b{&VxcXVF<(e0+|ZSa*J zwH}h7X*LKEERf-2_IZtnfVu#RA^2AAmCGwPlUK!GiHNz-a;Sd=kTo&vN?U{}**Ll^ z2+B%RD1Chj6Xau&yd0k!^s8=WD4%Qb^Wz9dq{Y^}`BF5?BU&G9B5se>R6F+L5i_|m z(vY-ogKiALp--BWi1mXEQ~qaP74A9pZ!cg6KzSUmhu zi5yXLQ6xakOk_?BH4_bJInyMZOA0VJ;QJAcw~vxbcx+tf&bq%LKD!ymyXnopdB1o# z&S@#44Rd}B70b#t^eE%5v~jPm*;JkKo`HGd-L?yLDheL|=#|&~$yybTO?|dg#N7_{ zJg2-CSel!uQ16ayz3jZ}B=EhWI2OU*6(G4^OnG9}NG44k8XoN`u}u=_B9o3&`y+ZZ zH;apO(M%UBIB*PaJfhYh&2?T6xc{kQt6|by751x#-d{qE5cY=}RX_r3v z+SneOacKOrqFwcKwjiRnp_W$1)6pe4FMA4uR3efEZLGGYiz7_(n$#9q?Wb+0?fKw! zDfsHq8iVSB8iMMB8fEM7tRrk9LVLn^@lA}}#T_Uqz6S)qEi<#b5Khg6zT3zn2c3av zJYbB4URHi-UV;o)NZyU_>Obwp1-a6m+dYAJYxe)#m@J4Z+`jno`s1F|+e2h%RJ{l^ zqP~GPq~7VxQIGJvBxg2AS}00_;VX{0WU>JJv(MrOLP-9&Txy@WNG5@8979f4y@R?0 z-O)Cg+)IbNAUm}THgH19T!NjM!Ey6BTP;k0CO|{oT^a*}=*HH(24UT=pEH|>Q6z$M zvBh##rm(vzesBHY3h<*1W*+iBUguBM+pYf4s=AX@cQS zd%joy#EF8sD7CQ>cwT*Zl5aV@J*s=zc(l60y;L<3LhB5!GRCXlov2pT4-+v9KJ{Xh!!T~3#Ut*yi>MKJ{`7k`8{M<*ppp_Qd#9@e zYXglJBaDZ_-}o6`=Dv)NPmZ6zw-AG^@*F^aLa8xUX=}t>VDk?Sk6)Tpf;Ol6mo_F- zb~os^Ui9u+y;0h+!VBq^oZB+I_q4spWH|*3AtKvD)Z%s^Zs@QPfi=2wv zB&I)%6nwX0Js!!qyW%o&5l4zgB}VR{b=Fj!fr%+2Q_}j1{AX@b;J70&R<#&5CG8V| zHz3^`6K$76Ay9Z?O}< zP%Y6G&)J!n=>;~%&WG8hB<_a`7?+Wf8k>mJqx_?U3J>e*;E+_fJ^FjO( z&RJj8rFGG?iIm)5Mw8g!V-dMHZXWEtMfDPD47`6sT+<$`?0E&um_B>zb8^q|OXl0l zgqUOmAdoH?B#sX>_V-+tlO_srjj4H>-4i^h$Wh-kAeYLeOq`ZAS0*3X29xFiWChpf zXftrj0G))M$39Ub2z{WZWP=AupepJ)O|&6<>xd5d@fOi7gFu-6PD< zsPZmQq5H%luF*EXH;&YrxhtbaK;{35j0aB+^o@^d$CGAfqix6Xo<;R2A-cbFp=t)r z?MaTtOkMy|kM13^?m6{?KI|7_Htt}zOWI2Q3^FGY&NM>+&5Sabw7!ikt2-ns&-;o_gSPWa-4~FLvZ16F zxYNUlMQ_%bp3z@ZRYmEH#&8?_VosSI$rwH))nt?744B07njz?8uZ(&+KeQ~dIH2(5gC2RdO|VrMv@51p`c1sQbs zyXilcbl+WO#za(n!QKr!f9voagndk!`o8Q`4ApH9A+=kz2DIGPa}+>)h#~ZJS+blf zhJN_OJ+S6V0lycqB~I^9M@^87##i36B$;W&wLUz~)s{v8Y;I#s z=KrXMZ+HM8U~ua4Pa~^+`n7(u$0SVxxck{+-hYOUiBf5{^U~tx>hf2ps?y1i zPDCydEm5PH*G*4#-ng!WO8YDM%Z=npu0{<>zT1?EB&Vx z`!xA@o6l$|WFfe?XDof6UVViyPmq}^hrGHEoq5)P<733B|3Ri)~L1ojfE})acnM_IJI@TuZODqOw$O`OdTBX-JsV(e5dA;4t$%)-Mw| zTalV#`y7^}b57{U9MJwk9v?AoN6$eEyyZ6$_XSPxhLajK=4T(1Wjq!#?|WZ<^FD}q zr97Sg*Efs~VDir+xNlaRFr>klu|&P##Hf<<-o=K!6H=lD?dyfgQcezV3|zcO=cGg>CbZ)R{xkJ zJH+7Xcq8o`1W+D|2DwR0%5$XTkzY7&Jgz&ow-`8X$ z`Ge4_&_sym!+jlZW)d>t9phIbcBXGnP4bCg_Uzz_r>O-q%!Er(b-P?Q;`Dm7$R{@O zt40c>+nCrF1sD=!G>n{& zJP9^*=OX=FZOIgzf`UatB2gL%J6T4bmmdZ}NE%*_TEHJ)jcq(1@A~pXsk`CzOYwOc z80fak_8ce@ShO*)gg27uVezo{^XF7S)c2w&s*oiI>dG(F49_#O4)S5SRg+?qVgf8@ zZGAsJFn9D5`pODOIkpnlQ#LGA$hOlxW1F$}$CV+UMDpO=SNlFJsjXo6#_3p`sU|s4 zSIqAEdq+kc0&Tk=>dhgPw(}X&Rpwf|DQvj%!%^q`80=ECbg_%Pi_MwR*Xrv42SK%d z;;}nHfz&3hSp!6EQ%%Jx%h^iT*?hp{hG6VCvzz>!>3Gr}LM6y(r|#@RIB?+>UDoi< z#G*0!G8>}!oK*oF75DORFUPB~6m~SwsDmOe@J2k%X04_1?fz_JyRPAFP2<%~5^Qyq zC$Nm4Hh2nuZ%UQh>tm0DsJP+-xlN8 zaqp~qc_11@a+oGAA{lGPU?w$Dlfl-jl)b}>AL3p1()dnhDD!%?I_1y40J2BJxrLm& z#&KjnSnxeL7Na9vR&o3EWLs4#Sqj%E5|RF3_bL!@bQKH$yX;NNp?L*TkQpj!e++>z z$C)_BJF=&+D+9O*NaPEjyliv8c7NcS#JFeu&_iUeObV25NoG@;HmB%I?SrK#s$v>2 z#>b*=c1^KE*DmUhf#y=Fb^FR2E4NaHZV`Dr<;@ zEoe379hSPGl@Hr&H_SeyjrXwgF>g|p*s3GcCJ}@y48z+DH?tp7)AJ-q)uRa468P8t z7^=J<98il>LZWf~BBJAV5%bE?F^5(AhXg)q^oV@ooa$aopf|#O2=SJPuzkIk>=kAr zQH4(;S)l6O0??!=8Yg5AU^YrX8CGc*#hK;EQBS6-#GZ+w!<@uekp{xlsCZ0w`}WOa zy;dYWa_pE&2+FqD^+7re;Nj60qmjNz8{rY746e!|?9NA;j7a)b&ZSi*bkDhUY!@~A z%;@$IWz^Lj^Xi>};AQ^jL+S#f$z^1{{cUUeR$ zo`|+?G^_ak_!8#%R4eI8~`FTNjGWfvYx(3TbLOKFdEZ?krb6Qy!Emi*AhSfU{L987J5 z94X1>b!{TT%XoIaFKr^oHX;96{iCQs=v)-xDcuK7-xmk|BTMBlL-S)&3=&s@a%vYF zRsVR_sL3z;AbHUgZk4$eSrWMdrxH6qA0{2e*y^Zja?Z~BsxnQ|DuU1a;FF~uKpB%N5&4I{A#p(t-^%lR1aXW{_UXjj?)sAjlu3Bi z42vHCM|if6h7xhG3`e8l6$^_-`<}zTwdYGOjJ_gz4t#!4`>g)s6E7N(sY-|%;TIVL z8MAXPHqgx(DtR=&e@^$zNyT&w+1kl?k1f9F%{c7N7`}sr3$xGVhboBu>IFu-a%Z7O zcgpI!*~7apZaMzSCAzTS{cm9^wlDzT*WE+yj-S}tjZ_o~OfW8J7SA)^y#7PxAu$!| zQ$p?3AJP2sp^|YfXa>lOzg7vW#@~0?Z;G$bA}~0$`IVgvK`n6zT_ZjXzb|~3a!i-x zJlc2^x8sXPIlV}4mO+yTe>xzuX18p%_leR)jXB<~(UZrs)th|xhE_+Kyy}qt%$b~H zNwuo^(8P3~8s<_9xUc6)a#Q-*d@*}F9-A&@AasAcDGd(pkcx`7eqtDuhh^@W%rw9# zgtI=IEf<&H`@}@hOuYX%EGWr85>@y+fHHjY_#1%8G9D>FJU>7Q@|yAaqfyKdEXXZ# zUE_-TfZj&2^2ju_*Lc-LyFRje&t{IGRtdTr$H1#)3}alHqnk@N6l;L^YP>9dn{7*TOyo7G-h=K5L0@cuOO)5rIh-ZO$(XHIbPkL<_KegTJS za!W3%LA#qE-U^YEYVmSf!mP$GGEw#yx&KrFY*C7u}bJ zU55?X-&3ZMv@q)ly6jF^rt_KF-lkt%nWzXsnJ-{JXcIFnMsA|N4v%&8A-6M3xMV}K zMFyIB944ytBUf{%sAg&AnBSp@K!E%RFv@fZyWqRVPjwm6ENw22w2x24 z?q1x$<{L7^_W7F{3XN7iJ{@NtT2iTauU*l}KA(cRhJGxyFlKS^{O(Q05&FJYT%~^Z zr-^ zE7bF^Xty-%7kgZ2-9*Ms=CEogahn+EmA{0xzy^-pGHin{XtZ-{eRt+^gosefI-*%^ z!ewT6Sqr!9o)E6(f8CO4^+PhS29{)Ji}T4jyfD}av~FL?BVqIjs5rmp(aPd(yI-hz zo++pRq-6Dt32n^MEjfkEY59KU&dO00Z|G1|*mHsxea-N~o`p&+^dI_?(TN{aT!+qas&2)cim^HQE zgt-qo86sCk5mO&sYEa3 z$u=%6N<;;_{n$Uqs{*V}eC!J)M(R{Mx!(6BuwG*`aTBp(57^(`7)Mtd$O z#n~GvZDWCd_-VsdEs=GJ46!t@xPut>v1KaPwk`nvM(^hUk(wvnFL*GI1g#rbN6$#h zL#mSv2M2~l>vDfg)Gfa-0xoQV=Q#1w_$?=UKP{CFy4rt7=XsHloFd>jw3l;j6zJ?# z$M9_4=Iirh|8CCQ{3k?ioJiDR?|CMj9EdOOS9r^LAHF*Oy-ZDiK#P0AoDG zi5dFw{`P7I+_L!bKEI@dX&tooToNWD%c z<1&I9SwY{6%CK+=U8fIFT=(Uj@5?AcYnDV6W##^>g^j@}J$D=Tn_Pr8*9~5`l41-? zmhrAg7OJ>)n>rbZvLsAOJW)z5x0fs6##PabF@Zqrp?|- zfTQ&7I}1VX#{t+^-7FfnCp$5hdpc zReh^z{ZE$9I5SkryV7W184{+)5OnvEh=|ITuRP#K$KAYii!%UVkigU~(Fu(f3R`t= z7tq9F)S-J!2L8MZrloI7p0gGd9h0g&1o^aCsF|D7U1wjUCBCdW)a7~HE)8uY;vr5O zM0{8(z$nsL=E1&=F)&{3T`4+xr?^NXTS9g=+Iql|OiNmWUvf)w?%ZK-w7H-tp{AL} zl$(Kaa!98e&oyn;kPTCPU+SS}QJPNkeM#igN$kwxsJ_~YdZO|74t<<7jfucrw4c@( z6)g_;5j+d_NA7eI^@_X_n=>l>zBHux z0|b$;QZ(M#RF=qEP2tS!6BF*DrhXnJcK42GlWxmq!F&coDsO@fR+*j?5fv|1Tjh_9 ze0M!bzu2JF$wn+*w9Jtb0ZFe;Q4d?RG`>Fq3LHlr3>-(@4fzO3hxJ-Gg2n8W;E$Jt z>Pq|>p4$Olz)ix^tH6&~eRxPN_ch0$Ke}f?XxszNsuGR>gt>t z?8bP?v`hBkMaaQ2kco~Oecfe5DS#-3H1aDG`d)0&iOKQV*|~EK#a5w|nsS)?3!m5g zZ~~YRLtM&1`|?Da-Y?z*UoxskVW0Ebaf=eF`J4L2g#J*N41(10XS)95DS{7v%)|Z| zfN7~`#Av?|mo8b5xb6=?0>@>Y^+U$iSr5g9V(1P5KDKl!DceqOzPAWFM}u;5$!}Fj7?}L8KFVkg#p=xS$JWX&S|@PB4BBmpiE^ z;u@Y7sd49ya0HerX`6GlrVCcp8*_~4ck}jYKIocEGfIim7nTCkN*eG{g?hWM9v zfi%2IycGa%lT0H~8_}JjU(I)yHw=%`k6E{d)xEEOaPDwI%enXI(^eWrFS8Ge4?(S8 zX{-%l#%mUx7M(Nz;cUn^QpD%T2KYo^%rR-UJM+aC`XI)Djyk==jDE)=I;?R6PaCLU^ z!J@pHgzoKE1Qq>0(yLO!I)bUiq=9v9X1m)|xeC6qFSEE2iKO z1s_|F*jNqy3ZiN?T!om{&-$H1hYG;$Caw5Ud-WlXVXLH8%J>@3MsR~z#^Y!p_18^aKEXhXQBe&QA&w}M*sf*}V7mC(;u%#|vOM~^snoZ+)Kn?LPPr!=GbFp<^anF( zo{6i*+k&E!ryom7CZANFT$HjR+Pp*#H$Pxx2iuK-=j^3SHxQ^oaLj9p3@jZ!(7bUW zjxMbhLjg13b3Mv?qlGF0K{Nl!AUIYVlEg&=ByA zRf=vLMKq$U0pz2K3fH_$yZUCyyR~@Rg6ifmeKoX?v9EH`IxE<$&5o^wD@$Ra>}D3G zGZAk*ClIntxk-2Qh^f!2YCN;cN?OV@8JwCaOB3gufQeerISt4s`4P$CAw)UkwDr6q zBUa{_4ZYH?p;B}NG9>A=oxB3tXVKcaE9I|nfv#^#R!1MsXhjpj6v==TJ1_1Hv{vUb zobt=*R*Lv}QNwW4CU2g2?QK{~wVq9O2GXc`V)N%TvT5cCVB)8A~yK zL%@RxyC&2r;m+99?rZw>wLr6gf{iAxa6dCU_Nk)TNQzc&*T>xQ?%2SgbYZ44ha4bB zCxAt5kSjwsURSStgiZa_e4J}wJh0=g+Y zRZKwq^0kfANqD(G5|dD8ep5ax)EYuLoDXVu7_(u{^9U5sVY-GnV(PB~-R!{NZL5w`@jO^4jC34k;q3>RcTKiI+g*g=^9LLbT zkCsMcdAFF}y|JvjBY_@%mV*#DGVq<%*N^iTG~#970uPECd3vmX43l?0=K#-`(yN-# z(=c*OxNp9Cg(|S*&+h5yrzS%j)4QgE#@=i7cw}G9tZ}xt%!m=XjAi@Y_4&JguVi~S z2L>+9rt9KH3CEY7fMRqjC{Vfrist+`OTF7LFL5%zfTAeYZ!*FPwxqf4YK{?SaTnxp zJ1aHpKKkQw#{0tDwE;T%GhHIolW!uP55LDXo$C8#}Bj5<~avUxDM1gG^cPFMb9I4!qJRTb>z}2Q*}U2Pw;IaK-C_ zDfacezDJ~VkS!K-?sVyQ@e`TKhn}GC*Kf^eaFoTC(aBcGmzI?)<0Tq9wRfTghG& zV{rx7t1`gUCoo<`%65wo|F|QHN2@ReNJ=aK3ZIr<$dVn(ntp1L4_Nhjg}oV{!!{@d721ar3O!({K&(Uti~K`W(RSy_8|dZ!R2C)&0Wwe&M9=q`5jL z6Srw4$mKDMFz3jA;~|`l8SF|C^dSyc@pq(YnnND96K%{?WWjvXWTd=`U?FOGU3aO^ zRsHS-vR$P-bYSv>W{-AZ?IS4ljUafHsFuAMXn~u5-KuFWo%cvd8*~rrjH8+Jj4fkcty#HURJ)YN^wn@<;9+@QL%9HQIz7A z7a(SS4)y0Lb{hj+4hLLJf1W|sPUX+IpKjtuk64~f{JbRlFdMvi%gboh@d_^B^+*5q8`f?t-TN|Z>Ad10ZAMq@j%(p~JSKzxs>= z30j2WY@26ZRL%SaFAVFE^Q)=)c%w)TtXf5>q`prb=LzG6J61}-NHqIg zT|ihq$+4e*1r2>S<72k+tlB;+^`R@Bvwk`-x>rVyGB-ChVV)w|NuDaR{JPBs$Je7{BZOAE)HZh$@ML|cG?diRH@Su;Loc}#5#!O!?&qkc6VJ@!jR^#6x=(n zNAvc-<(X9jX>?Y+L1;e=3$BAjV1=>IJpbr&Z?kmT7i{4anDyem|P4F!3BlOwq zm2>@zvlv+}9?f%kE3~2S?%Uat?#AxhT`w_TBV3p~g(cy8V@*5D9Gi&>e}{?N=1igbsw+$TNVsV{(D932rcSzf!lLAu6iu6! z$KZFO;#5^OIB~1lH!UI=&n3Zuove_+*5uhv^hsRL4yYVn1Xp2!N@=)!1)oViu0R1j z?(t4^;w3ptg$6bOX+CsLKjJ-p;a$WEK` zlu23lt3!kO5P!tUj6M&O)OO-e+g6Z-FQ(9B>=`Mt`+L1&ih;?>DYSud!`r}Ax1x(Z zPrSyOBL!2$t1o(@>|wC|mL?S}k7by-b^JKx8zWJXv8e-RWm?k@-}lcL)|y}}ZpELx zn$WEQ!AmdwWQ`oN_~-CM9L3A2wK0p;+y!ZM zK_+^zDvGR`^qJ0Wa_ycKPUmaQK`W&-!~2_3e6U-Yb)Mf$RTvCj*pX{~LMx&8x@Sr& zrF`4|*14sHqI{hJt@4V3-yoru*|twr+sa#~uM9P)Vx4*NE(Ztf5~$sO)*fmKwuf3J zU~X2)Qx4zE;pq_1;p=GJC*ygw-6h}cH+SsUfi;Me0A(z3d`%YvjiUQWm~p->tr{Td z{rlPeY}4EvR~T#D=TpS^R=$WbAyb^9lg{eS#F6jq1RaCvvZPgavF^kM=-wYV6#RXT zkI0P}@C0k#SI2{K&~qTt-&$fGJIh(?kbliY9yrvWG$a^uS@7uHdn_Fdh!ra8;2i|d z_Qa73e6x})aR58Hqlqd+-L02y+NMOsxa)4+2V7yap~Hko)g{^X^i|s8y`%;sUY%Yz zp3Zole!n2uQ&i{>rZ;#r&T(lE)LUcqapW?%F{Z!nW-|z5dAt$UxtYT~^#EQQ#(T*Q zioF~x^4p4oOd>O0s!mQ_AENFwZip4eMOC%rM=cF#kY0a`?Szrh-)F?)GYp`|>*>g^ z7Hx?|#leP;0_BtJqp!LLT5Y%NcYyIoiTs&3wmR9@$jP=Fh z(K8snh(!Vo76bn4L7oT`S|)siSajBf{pW(0jPlg+2lCGjeLLGD>Q-QSR(V@KpDJ#n z;%=d#tw*kMt)y`)%8sN=o!MKW?j1+`&2tj3CCDmtwrIXxW{THLNx#m{`y%7!JK@GZ zumY*ch_#KkDcGvyg6wfCG|Uf-vn{+B9JhfjOpb>RGAlqT=_!Be@z`c>ja`^{6J4`0 z?cWW)R?vJ|6B=76TRUw+uarS1utq>Rntu{7|AqxuxjHjeh_xiI_oXhU$D*9=C`L&` z@^m=eOnmtZCJxpT1*Qb(!0BebKLM19TVW_kM*e#|r+J&xVm0g z7N=Xxk|A^B=N?->lb8@+nIyDW)cBDi69egFKAwblRrMG0PnjAkS)AEY2<5QYQX-x! z*0QnjE1N~ofzG4~Qa0ru_*&y>70kAR6hN#gcq&u+jQE+Sk#WnavB=Z{n}c;WX?&x~ zg|1l2MG_-pHF67(*cCQ9_aUbnMI91Y>`aJCSDbUHj?)dHIm;@B%F9tS%hHq=hrP;0 zis_PrCUi!pxWJIu5C%DBCUUxOIHV~6X1!EESa^}i@~$}i*1T6cFdy$=dB7Qq*2t%z zZuEwo>Fu|RWQSM+<=C7ADuq~_&+3zoKtWz{3TipocUU;Kxiid6XwlNLc4_>uA0)wi zp|QGewz%+s>I3nz>OlWk6on10-lyqY0#1Vt*dck0v&J#TY$0m0ioE+Fz*On+XKKCz zp|NrbL4G#DY6OU{LogWD;{((P6y!0)F$NhvOXL-Nvmqd|Nbr}96X(G6bwu>*#XCEU zpZ9gvg;XPg#(t61g@yW%mgX6AkIu!oM8lo$*{^hWqrR7;G1o>if8D z$au3>&Q^htWT=TqgUk!&Px94-GlZz8sS&|(Len-$LRxU97MKt8Z>APZe|j`B4M2qY zO+@9hQwy1&w{5bVTK)@QOwDdo>K^hF2lafkCq^V5w>Qh14eF#Jc-s`Pju1At{(HyW zq>UxvhN4efNj|&V4zyz1kgXku!{Cwmw*4h0{k?bZtqaRPI;%w864>>x11slrPDEB) zdCnMMi*B0&UPGZ(&ZOHgpQddUF}EUjcwLo3!*!A%CZ5_+=A&*V(H&=yx20XqgwA+B z_v+82e&_Vls&Dtafy+PY=?kb^9kNm(Bcl$u3oV?`>l=r86QkXSRxRwJbe_X;v&aJG z#6;8j#a^3~wP+dV!{`h%-DmGdmHRnnX``*pqVBqz{o5uF!1g+@+UGu|J`$_Ea|7=y z3pVYkpabZUN5&AQelFlWiH}rg+cOqe;0qXPZO&Sc&F(t@<&AZ@bu8^I_+0Cl@`hSC z$fpYJ#@ZY2zCLp5$W{Nw`rzy2QFUU$+WK{(Pn0XyJ>G52xlpq04>2DG#m+hN!iPMu z#0M7B z^aFhS40lP-rFXAhtH5wOCk%U-&vnlwb{k(y!3xHU)^hD*AH=kW3m)+=zsJ%#>;Djg ze;ZnVYb^LmabsN}??Xm)Pjl}$SarcMwz6mRq6n{_fc_{#tY5@lY+HcF)w_9@ynpX! z@bT3>D1y*zZwKm(M3R#mW+8(1M_FYM?rg zERc>5_^%d-4*dUGd~|$`w0?-GC?r50SxYBp7dR#DZ_Ep$zuNpsZ|B$8-E z5BLbt(TKz>AYK4~7r+nX;}hTl@UZ{@ENpQ4-M=}O?oOs=SO9nh<)o2lL`oDsUI;X4 zKN^t{2IK?5K+} z5CG3D0RGm*KNJf9f$(7ccV_`U!0(*}`1ru^2>*`b`)fe>@xPAn0ziNCh0B2d!2PBF zuegB$zYi$D2Lb%<2^`1wyD_{#F!1-jaM_>60HJ^21o&Xk{|gAGQ~qt&e>{N#`2c^) zAit-M7s~esPJoYJ;P-UGar}Qf2lxL!O85nM;Z)qej(^Jj$Q`c$?;kh;DDNMN;kZB2 z1cJZq@K0m@jz0+UXP!V1@E_p^L3#hWPX5b45EKIaJxyR<;9pC@f8pRV{@_(6Zn1-R_5EBwC{!;6$de^(3<0092w2<$(hh6sQFzvq+x|CmT{ z8T5Cf`GN2-{H7RA+Wo^heh}R1f8zd%zW`7G`ul`~%LIN8wE&3s|B!*n;9ivGJ|2pIZ@BM|;S(kTEDfc|s#|GoYRK!JZu5I77@v;JT2T%3$7 zZA_i8goSxtT6&tomvJ6-dwcl32R;~`Iu?(-otZt|UxWO8B2A}DCk&E=Nbt(?N=i%e zO7ioApg<590tWI*@Ij^cW%#5eMX~;dSp0u6boy94()MqqEKJ{8JGzK3QI{fD{;n^*7_&$jRmJ`;7n;4B^9KVv `void func_Expect(void)` * `void func(params)` => `void func_Expect(expected_params)` @@ -87,9 +87,9 @@ to day CMock work. Array: ------ -An ExpectWithArray will check as many elements as you specify. -If you specify zero elements, it will check just the pointer if -`:smart` mode is configured or fail if `:compare_data` is set. +An ExpectWithArray will check as many elements as you specify. +If you specify zero elements, it will check just the pointer if +`:smart` mode is configured or fail if `:compare_data` is set. * `void func(void)` => (nothing. In fact, an additional function is only generated if the params list contains pointers) * `void func(ptr * param, other)` => `void func_ExpectWithArray(ptr* param, int param_depth, other)` @@ -100,11 +100,11 @@ If you specify zero elements, it will check just the pointer if Callback: --------- -As soon as you stub a callback in a test, it will call the callback -whenever the mock is encountered and return the retval returned -from the callback (if any) instead of performing the usual expect -checks. It can be configured to check the arguments first (like -expects) or just jump directly to the callback. +As soon as you stub a callback in a test, it will call the callback +whenever the mock is encountered and return the retval returned +from the callback (if any) instead of performing the usual expect +checks. It can be configured to check the arguments first (like +expects) or just jump directly to the callback. * `void func(void)` => `void func_StubWithCallback(CMOCK_func_CALLBACK callback)` where `CMOCK_func_CALLBACK` looks like: `void func(int NumCalls)` @@ -119,10 +119,10 @@ where `CMOCK_func_CALLBACK` looks like: `retval func(params, int NumCalls)` Cexception: ----------- -If you are using Cexception for error handling, you can use this -to throw errors from inside mocks. Like Expects, it remembers -which call was supposed to throw the error, and it still checks -parameters. +If you are using Cexception for error handling, you can use this +to throw errors from inside mocks. Like Expects, it remembers +which call was supposed to throw the error, and it still checks +parameters. * `void func(void)` => `void func_ExpectAndThrow(value_to_throw)` * `void func(params)` => `void func_ExpectAndThrow(expected_params, value_to_throw)` @@ -133,10 +133,10 @@ parameters. Ignore: ------- -This plugin supports two modes. You can use it to force CMock to -ignore calls to specific functions or to just ignore the arguments -passed to those functions. Either way you can specify multiple -returns or a single value to always return, whichever you prefer. +This plugin supports two modes. You can use it to force CMock to +ignore calls to specific functions or to just ignore the arguments +passed to those functions. Either way you can specify multiple +returns or a single value to always return, whichever you prefer. * `void func(void)` => `void func_Ignore(void)` * `void func(params)` => `void func_Ignore(void)` @@ -144,62 +144,86 @@ returns or a single value to always return, whichever you prefer. * `retval func(params)` => `void func_IgnoreAndReturn(retval_to_return)` +Ignore Args: +------------ + +This plugin adds the ability to specify specifc arguments to ignore +for a function, instead of ignoring all the arguments or the entire +function call, as the Ignore plugin supports. This will create a function +for each argument and each function. + +* `void func(params)` => `void func_IgnoreArg_paramName(void)` + + +ReturnThruPtr: +-------------- + +This plugin adds a number of options for returning data through arguments +that are pointers. This is fled separately from the Expect/Ignore call, so +you will want to issue one of those calls each time as well. This will only +create an extra call for arguments that are pointers. It will create one per +pointer argument. + +* `void func(param1)` => `void func_ReturnThruPtr_paramName(val_to_return)` +* => `void func_ReturnArrayThruPtr_paramName(cal_to_return, len)` +* => `void func_ReturnMemThruPtr_paramName(val_to_return, size)` + Running CMock ============= -CMock is a Ruby script and class. You can therefore use it directly -from the command line, or include it in your own scripts or rakefiles. +CMock is a Ruby script and class. You can therefore use it directly +from the command line, or include it in your own scripts or rakefiles. Mocking from the Command Line ----------------------------- -After unpacking CMock, you will find CMock.rb in the 'lib' directory. -This is the file that you want to run. It takes a list of header files -to be mocked, as well as an optional yaml file for a more detailed -configuration (see config options below). +After unpacking CMock, you will find CMock.rb in the 'lib' directory. +This is the file that you want to run. It takes a list of header files +to be mocked, as well as an optional yaml file for a more detailed +configuration (see config options below). -For example, this will create three mocks using the configuration -specified in MyConfig.yml: +For example, this will create three mocks using the configuration +specified in MyConfig.yml: ruby cmock.rb -oMyConfig.yml super.h duper.h awesome.h -And this will create two mocks using the default configuration: +And this will create two mocks using the default configuration: ruby cmock.rb ../mocking/stuff/is/fun.h ../try/it/yourself.h Mocking From Scripts or Rake ---------------------------- -CMock can be used directly from your own scripts or from a rakefile. -Start by including cmock.rb, then create an instance of CMock. -When you create your instance, you may initialize it in one of -three ways. +CMock can be used directly from your own scripts or from a rakefile. +Start by including cmock.rb, then create an instance of CMock. +When you create your instance, you may initialize it in one of +three ways. -You may specify nothing, allowing it to run with default settings: +You may specify nothing, allowing it to run with default settings: cmock = CMock.new -You may specify a YAML file containing the configuration options -you desire: +You may specify a YAML file containing the configuration options +you desire: cmock = CMock.new('../MyConfig.yml') -You may specify the options explicitly: +You may specify the options explicitly: cmock = Cmock.new(:plugins => [:cexception, :ignore], :mock_path => 'my/mocks/') -Config Options: +Config Options: -The following configuration options can be specified in the -yaml file or directly when instantiating. +The following configuration options can be specified in the +yaml file or directly when instantiating. -Passed as Ruby, they look like this: +Passed as Ruby, they look like this: { :attributes => [“__funky”, “__intrinsic”], :when_ptr => :compare } -Defined in the yaml file, they look more like this: +Defined in the yaml file, they look more like this: - :cmock: + :cmock: :attributes: - __funky - __intrinsic @@ -267,8 +291,8 @@ Defined in the yaml file, they look more like this: * `:plugins`: An array of which plugins to enable. 'expect' is always active. Also - available currently are `:ignore,` `:array,` `:cexception,` and - `:callback: + available currently are `:ignore,` `:ignore_args,` `:array,` + `:cexception,` `:callback,` and `:return_thru_ptr` * `:treat_as`: The `:treat_as` list is a shortcut for when you have created typedefs @@ -320,37 +344,37 @@ Defined in the yaml file, they look more like this: Compiled Options: ----------------- -A number of #defines also exist for customizing the cmock experience. +A number of #defines also exist for customizing the cmock experience. -CMOCK_MEM_STATIC or CMOCK_MEM_DYNAMIC +CMOCK_MEM_STATIC or CMOCK_MEM_DYNAMIC -Define one of these to determine if you want to dynamically add -memory during tests as required from the heap. If static, you -can control the total footprint of Cmock. If dynamic, you will -need to make sure you make some heap space available for Cmock. +Define one of these to determine if you want to dynamically add +memory during tests as required from the heap. If static, you +can control the total footprint of Cmock. If dynamic, you will +need to make sure you make some heap space available for Cmock. -CMOCK_MEM_SIZE +CMOCK_MEM_SIZE -In static mode this is the total amount of memory you are allocating -to Cmock. In Dynamic mode this is the size of each chunk allocated -at once (larger numbers grab more memory but require less mallocs). +In static mode this is the total amount of memory you are allocating +to Cmock. In Dynamic mode this is the size of each chunk allocated +at once (larger numbers grab more memory but require less mallocs). -CMOCK_MEM_ALIGN +CMOCK_MEM_ALIGN -The way to align your data to. Not everything is as flexible as -a PC, as most embedded designers know. This defaults to 2, meaning -align to the closest 2^2 -> 4 bytes (32 bits). You can turn off alignment -by setting 0, force alignment to the closest uint16 with 1 or even -to the closest uint64 with 3. +The way to align your data to. Not everything is as flexible as +a PC, as most embedded designers know. This defaults to 2, meaning +align to the closest 2^2 -> 4 bytes (32 bits). You can turn off alignment +by setting 0, force alignment to the closest uint16 with 1 or even +to the closest uint64 with 3. -CMOCK_MEM_PTR_AS_INT +CMOCK_MEM_PTR_AS_INT -This is used internally to hold pointers... it needs to be big -enough. On most processors a pointer is the same as an unsigned -long... but maybe that's not true for yours? +This is used internally to hold pointers... it needs to be big +enough. On most processors a pointer is the same as an unsigned +long... but maybe that's not true for yours? -CMOCK_MEM_INDEX_TYPE +CMOCK_MEM_INDEX_TYPE -This needs to be something big enough to point anywhere in Cmock's -memory space... usually it's an unsigned int. +This needs to be something big enough to point anywhere in Cmock's +memory space... usually it's an unsigned int. diff --git a/docs/license.txt b/docs/license.txt index c58cb08..1e546fe 100644 --- a/docs/license.txt +++ b/docs/license.txt @@ -1,4 +1,4 @@ - Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams + Copyright (c) 2007-14 Mike Karlesky, Mark VanderVoord, Greg Williams Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation From 93d812d528075674ff3b64a4990ec8e40b2a3597 Mon Sep 17 00:00:00 2001 From: Dennis Lambe Jr Date: Sat, 8 Mar 2014 22:20:28 -0500 Subject: [PATCH 3/5] Replaced class-level aliasing of code_verify_an_arg_expectation with instance-level dispatch. Fixed a bug in code_verify_an_arg_expectation_with_no_arrays which was being hidden from the unit tests by aliasing. --- lib/cmock_generator_utils.rb | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/lib/cmock_generator_utils.rb b/lib/cmock_generator_utils.rb index ce8bf91..7780fc8 100644 --- a/lib/cmock_generator_utils.rb +++ b/lib/cmock_generator_utils.rb @@ -18,18 +18,20 @@ class CMockGeneratorUtils @ignore_arg = @config.plugins.include? :ignore_arg @treat_as = @config.treat_as @helpers = helpers - + end + + def code_verify_an_arg_expectation(function, arg) if (@arrays) case(@ptr_handling) - when :smart then alias :code_verify_an_arg_expectation :code_verify_an_arg_expectation_with_smart_arrays - when :compare_data then alias :code_verify_an_arg_expectation :code_verify_an_arg_expectation_with_normal_arrays + when :smart then code_verify_an_arg_expectation_with_smart_arrays(function, arg) + when :compare_data then code_verify_an_arg_expectation_with_normal_arrays(function, arg) when :compare_ptr then raise "ERROR: the array plugin doesn't enjoy working with :compare_ptr only. Disable one option." end else - alias :code_verify_an_arg_expectation :code_verify_an_arg_expectation_with_no_arrays + code_verify_an_arg_expectation_with_no_arrays(function, arg) end end - + def code_add_base_expectation(func_name, global_ordering_supported=true) lines = " CMOCK_MEM_INDEX_TYPE cmock_guts_index = CMock_Guts_MemNew(sizeof(CMOCK_#{func_name}_CALL_INSTANCE));\n" lines << " CMOCK_#{func_name}_CALL_INSTANCE* cmock_call_instance = (CMOCK_#{func_name}_CALL_INSTANCE*)CMock_Guts_GetAddressFor(cmock_guts_index);\n" @@ -124,10 +126,14 @@ class CMockGeneratorUtils lines << " else\n" lines << " { UNITY_TEST_ASSERT_EQUAL_MEMORY((void*)(#{pre}#{expected}), (void*)(#{pre}#{arg_name}), sizeof(#{c_type.sub('*','')}), cmock_line, \"#{unity_msg}\"); }\n" when /_ARRAY/ - lines << " if (#{pre}#{expected} == NULL)\n" - lines << " { UNITY_TEST_ASSERT_NULL(#{pre}#{arg_name}, cmock_line, \"Expected NULL. #{unity_msg}\"); }\n" - lines << " else\n" - lines << " { #{unity_func}(#{pre}#{expected}, #{pre}#{arg_name}, 1, cmock_line, \"#{unity_msg}\"); }\n" + if (pre == '&') + lines << " #{unity_func}(#{pre}#{expected}, #{pre}#{arg_name}, 1, cmock_line, \"#{unity_msg}\");\n" + else + lines << " if (#{pre}#{expected} == NULL)\n" + lines << " { UNITY_TEST_ASSERT_NULL(#{pre}#{arg_name}, cmock_line, \"Expected NULL. #{unity_msg}\"); }\n" + lines << " else\n" + lines << " { #{unity_func}(#{pre}#{expected}, #{pre}#{arg_name}, 1, cmock_line, \"#{unity_msg}\"); }\n" + end else lines << " #{unity_func}(#{pre}#{expected}, #{pre}#{arg_name}, cmock_line, \"#{unity_msg}\");\n" end From b829be67b3254ced1640b40c4bc74962739238d0 Mon Sep 17 00:00:00 2001 From: Dennis Lambe Jr Date: Sat, 8 Mar 2014 23:05:51 -0500 Subject: [PATCH 4/5] Fixed "comparison between pointer and integer" resulting from bad arg expectation assert generation. --- lib/cmock_generator_utils.rb | 14 +++++++++----- test/unit/cmock_generator_utils_test.rb | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/cmock_generator_utils.rb b/lib/cmock_generator_utils.rb index 7780fc8..3bd6372 100644 --- a/lib/cmock_generator_utils.rb +++ b/lib/cmock_generator_utils.rb @@ -183,11 +183,15 @@ class CMockGeneratorUtils c_type_local = c_type.gsub(/\*$/,'') lines << " UNITY_TEST_ASSERT_EQUAL_MEMORY((void*)(#{pre}#{expected}), (void*)(#{pre}#{arg_name}), sizeof(#{c_type_local}), cmock_line, \"#{unity_msg}\");\n" when "UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY" - lines << " if (#{pre}#{expected} == NULL)\n" - lines << " { UNITY_TEST_ASSERT_NULL(#{arg_name}, cmock_line, \"Expected NULL. #{unity_msg}\"); }\n" - lines << ((depth_name != 1) ? " else if (#{depth_name} == 0)\n { UNITY_TEST_ASSERT_EQUAL_PTR(#{pre}#{expected}, #{pre}#{arg_name}, cmock_line, \"#{unity_msg}\"); }\n" : "") - lines << " else\n" - lines << " { UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((void*)(#{pre}#{expected}), (void*)(#{pre}#{arg_name}), sizeof(#{c_type.sub('*','')}), #{depth_name}, cmock_line, \"#{unity_msg}\"); }\n" + if (pre == '&') + lines << " UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((void*)(#{pre}#{expected}), (void*)(#{pre}#{arg_name}), sizeof(#{c_type.sub('*','')}), #{depth_name}, cmock_line, \"#{unity_msg}\");\n" + else + lines << " if (#{pre}#{expected} == NULL)\n" + lines << " { UNITY_TEST_ASSERT_NULL(#{arg_name}, cmock_line, \"Expected NULL. #{unity_msg}\"); }\n" + lines << ((depth_name != 1) ? " else if (#{depth_name} == 0)\n { UNITY_TEST_ASSERT_EQUAL_PTR(#{pre}#{expected}, #{pre}#{arg_name}, cmock_line, \"#{unity_msg}\"); }\n" : "") + lines << " else\n" + lines << " { UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((void*)(#{pre}#{expected}), (void*)(#{pre}#{arg_name}), sizeof(#{c_type.sub('*','')}), #{depth_name}, cmock_line, \"#{unity_msg}\"); }\n" + end when /_ARRAY/ if (pre == '&') lines << " #{unity_func}(#{pre}#{expected}, #{pre}#{arg_name}, #{depth_name}, cmock_line, \"#{unity_msg}\");\n" diff --git a/test/unit/cmock_generator_utils_test.rb b/test/unit/cmock_generator_utils_test.rb index 94bd6cf..344affe 100644 --- a/test/unit/cmock_generator_utils_test.rb +++ b/test/unit/cmock_generator_utils_test.rb @@ -277,8 +277,8 @@ class CMockGeneratorUtilsTest < Test::Unit::TestCase should 'handle custom types as memory compares when we have no better way to do it with array plugin enabled' do function = { :name => 'Pear' } arg = test_arg[:mytype] - expected = " if (!cmock_call_instance->IgnoreArg_MyMyType)\n {\n UNITY_TEST_ASSERT_EQUAL_MEMORY((void*)(&cmock_call_instance->Expected_MyMyType), (void*)(&MyMyType), sizeof(MY_TYPE), cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n" - @unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MEMORY','&']) + expected = " if (!cmock_call_instance->IgnoreArg_MyMyType)\n {\n UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY((void*)(&cmock_call_instance->Expected_MyMyType), (void*)(&MyMyType), sizeof(MY_TYPE), 1, cmock_line, \"Function 'Pear' called with unexpected value for argument 'MyMyType'.\");\n }\n" + @unity_helper.expect.get_helper('MY_TYPE').returns(['UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY','&']) assert_equal(expected, @cmock_generator_utils_complex.code_verify_an_arg_expectation(function, arg)) end From a432aa3436e3a90726857f4737eef2bcc2801c77 Mon Sep 17 00:00:00 2001 From: Mark VanderVoord Date: Thu, 13 Mar 2014 16:23:29 -0400 Subject: [PATCH 5/5] Update to latest version of Unity --- rakefile_helper.rb | 76 +++++++++++++++---------------- test/c/TestCMockCDynamic_Runner.c | 4 +- test/c/TestCMockC_Runner.c | 2 +- vendor/unity | 2 +- 4 files changed, 42 insertions(+), 42 deletions(-) diff --git a/rakefile_helper.rb b/rakefile_helper.rb index 3714d60..ea86347 100644 --- a/rakefile_helper.rb +++ b/rakefile_helper.rb @@ -2,7 +2,7 @@ # CMock Project - Automatic Mock Generation for C # Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams # [Released under MIT License. Please refer to license.txt for details] -# ========================================== +# ========================================== require 'yaml' require 'fileutils' @@ -18,23 +18,23 @@ module RakefileHelpers SYSTEST_COMPILE_MOCKABLES_PATH = 'test/system/test_compilation/' C_EXTENSION = '.c' RESULT_EXTENSION = '.result' - + def load_configuration(config_file) $cfg_file = config_file $cfg = YAML.load(File.read('./targets/' + $cfg_file)) $colour_output = false unless $cfg['colour'] end - + def configure_clean CLEAN.include(SYSTEST_GENERATED_FILES_PATH + '*.*') CLEAN.include(SYSTEST_BUILD_FILES_PATH + '*.*') end - + def configure_toolchain(config_file) load_configuration(config_file) configure_clean end - + def get_local_include_dirs include_dirs = $cfg['compiler']['includes']['items'].dup include_dirs.delete_if {|dir| dir.is_a?(Array)} @@ -90,7 +90,7 @@ module RakefileHelpers execute(cmd_str + obj_file) return obj_file end - + def build_linker_fields command = tackit($cfg['linker']['path']) if $cfg['linker']['options'].nil? @@ -106,7 +106,7 @@ module RakefileHelpers includes = includes.gsub(/\\ /, ' ').gsub(/\\\"/, '"').gsub(/\\$/, '') # Remove trailing slashes (for IAR) return {:command => command, :options => options, :includes => includes} end - + def link_it(exe_name, obj_list) linker = build_linker_fields cmd_str = "#{linker[:command]}#{linker[:options]}#{linker[:includes]} " + @@ -116,7 +116,7 @@ module RakefileHelpers exe_name + $cfg['linker']['bin_files']['extension'] execute(cmd_str) end - + def build_simulator_fields return nil if $cfg['simulator'].nil? if $cfg['simulator']['path'].nil? @@ -136,7 +136,7 @@ module RakefileHelpers end return {:command => command, :pre_support => pre_support, :post_support => post_support} end - + def execute(command_string, verbose=true, raise_on_failure=true) #report command_string output = `#{command_string}`.chomp @@ -146,7 +146,7 @@ module RakefileHelpers end return output end - + def tackit(strings) case(strings) when Array @@ -159,7 +159,7 @@ module RakefileHelpers strings end end - + def report_summary summary = UnityTestSummary.new summary.set_root_path(File.expand_path(File.dirname(__FILE__)) + '/') @@ -170,28 +170,28 @@ module RakefileHelpers summary.run fail_out "FAIL: There were failures" if (summary.failures > 0) end - + def run_system_test_interactions(test_case_files) load './lib/cmock.rb' - + SystemTestGenerator.new.generate_files(test_case_files) test_files = FileList.new(SYSTEST_GENERATED_FILES_PATH + 'test*.c') - + load_configuration($cfg_file) $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil? - + include_dirs = get_local_include_dirs # Build and execute each unit test test_files.each do |test| obj_list = [] - + test_base = File.basename(test, C_EXTENSION) cmock_config = test_base.gsub(/test_/, '') + '_cmock.yml' - + report "Executing system tests in #{File.basename(test)}..." - + # Detect dependencies and build required required modules extract_headers(test).each do |header| @@ -213,13 +213,13 @@ module RakefileHelpers runner_path = $cfg['compiler']['source_path'] + runner_name UnityTestRunnerGenerator.new(SYSTEST_GENERATED_FILES_PATH + cmock_config).run(test, runner_path) obj_list << compile(runner_path) - + # Build the test module obj_list << compile(test) - + # Link the test executable link_it(test_base, obj_list) - + # Execute unit test and generate results file simulator = build_simulator_fields executable = $cfg['linker']['bin_files']['destination'] + test_base + $cfg['linker']['bin_files']['extension'] @@ -232,19 +232,19 @@ module RakefileHelpers test_results = $cfg['compiler']['build_path'] + test_base + RESULT_EXTENSION File.open(test_results, 'w') { |f| f.print output } end - + # Parse and report test results total_tests = 0 total_failures = 0 failure_messages = [] - test_case_files.each do |test_case| + test_case_files.each do |test_case| tests = (YAML.load_file(test_case))[:systest][:tests][:units] total_tests += tests.size test_file = 'test_' + File.basename(test_case).ext(C_EXTENSION) result_file = test_file.ext(RESULT_EXTENSION) - test_results = File.readlines(SYSTEST_BUILD_FILES_PATH + result_file) + test_results = File.readlines(SYSTEST_BUILD_FILES_PATH + result_file).reject {|line| line.size < 10 } # we're rejecting lines that are too short to be realistic, which handles line ending problems tests.each_with_index do |test, index| # compare test's intended pass/fail state with pass/fail state in actual results; # if they don't match, the system test has failed @@ -268,26 +268,26 @@ module RakefileHelpers end end end - + report "\n" report "------------------------------------\n" report "SYSTEM TEST MOCK INTERACTION SUMMARY\n" report "------------------------------------\n" report "#{total_tests} Tests #{total_failures} Failures 0 Ignored\n" report "\n" - + if (failure_messages.size > 0) report 'System test failures:' failure_messages.each do |failure| report failure end end - + report '' return total_failures end - + def profile_this(filename) profile = true begin @@ -296,9 +296,9 @@ module RakefileHelpers rescue profile = false end - + yield - + if (profile) profile_result = RubyProf.stop File.open("Profile_#{filename}.html", 'w') do |f| @@ -306,10 +306,10 @@ module RakefileHelpers end end end - + def run_system_test_compilations(mockables) load './lib/cmock.rb' - + load_configuration($cfg_file) $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil? @@ -324,10 +324,10 @@ module RakefileHelpers compile(SYSTEST_GENERATED_FILES_PATH + mock_filename) end end - + def run_system_test_profiles(mockables) load './lib/cmock.rb' - + load_configuration($cfg_file) $cfg['compiler']['defines']['items'] = [] if $cfg['compiler']['defines']['items'].nil? @@ -337,8 +337,8 @@ module RakefileHelpers report "--------------------------\n" mockables.each do |header| mock_filename = 'mock_' + File.basename(header).ext('.c') - profile_this(mock_filename.gsub('.c','')) do - 10.times do + profile_this(mock_filename.gsub('.c','')) do + 10.times do CMock.new(SYSTEST_COMPILE_MOCKABLES_PATH + 'config.yml').setup_mocks(header) end end @@ -346,7 +346,7 @@ module RakefileHelpers compile(SYSTEST_GENERATED_FILES_PATH + mock_filename) end end - + def build_and_test_c_files report "\n" report "----------------\n" @@ -372,7 +372,7 @@ module RakefileHelpers end end end - + def fail_out(msg) puts msg exit(-1) diff --git a/test/c/TestCMockCDynamic_Runner.c b/test/c/TestCMockCDynamic_Runner.c index fed2c8b..a055f22 100644 --- a/test/c/TestCMockCDynamic_Runner.c +++ b/test/c/TestCMockCDynamic_Runner.c @@ -20,9 +20,9 @@ extern void test_ThatWeCanAskForAllSortsOfSizes(void); int main(void) { - Unity.TestFile = "TestCMockDynamic.c"; UnityBegin(); - + Unity.TestFile = "TestCMockDynamic.c"; + RUN_TEST(test_MemNewWillReturnNullIfGivenIllegalSizes, 26); RUN_TEST(test_MemNewWillNowSupportSizesGreaterThanTheDefinesCMockSize, 35); RUN_TEST(test_MemChainWillReturnNullAndDoNothingIfGivenIllegalInformation, 45); diff --git a/test/c/TestCMockC_Runner.c b/test/c/TestCMockC_Runner.c index 7699975..081feb9 100644 --- a/test/c/TestCMockC_Runner.c +++ b/test/c/TestCMockC_Runner.c @@ -22,8 +22,8 @@ extern void test_ThatWeCanAskForAllSortsOfSizes(void); int main(void) { - Unity.TestFile = "TestCMock.c"; UnityBegin(); + Unity.TestFile = "TestCMock.c"; RUN_TEST(test_MemNewWillReturnNullIfGivenIllegalSizes, 21); RUN_TEST(test_MemChainWillReturnNullAndDoNothingIfGivenIllegalInformation, 32); diff --git a/vendor/unity b/vendor/unity index d0d5ec5..651d247 160000 --- a/vendor/unity +++ b/vendor/unity @@ -1 +1 @@ -Subproject commit d0d5ec5d7569defaafd6c1bdb728d4c33783b69a +Subproject commit 651d24744df7b444229c0ba6397338194605f86f