Skip to content

Commit

Permalink
[Truffle] Tag "slow" core specs.
Browse files Browse the repository at this point in the history
* Tag all examples of Encoding convpath specs,
  so even the expensive before(:all) is not run.
* Tag specs invoking GC, they are a code smell and slow down the system.
* Tag some eval specs using ruby_exe and some using sleep.
* Before: 33s (37s total)
  After:  17s (21s total)
  • Loading branch information
eregon committed Jan 14, 2015
1 parent 0b27dbc commit 65ce1eb
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 1 deletion.
7 changes: 7 additions & 0 deletions spec/truffle/tags/core/encoding/converter/convpath_tags.txt
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
fails:Encoding::Converter#convpath indicates if crlf_newline conversion would occur
slow:Encoding::Converter#convpath returns an Array
slow:Encoding::Converter#convpath returns each encoding pair as a sub-Array
slow:Encoding::Converter#convpath returns each encoding as an Encoding object
slow:Encoding::Converter#convpath returns multiple encoding pairs when direct conversion is impossible
slow:Encoding::Converter#convpath sets the last element of each pair to the first element of the next
slow:Encoding::Converter#convpath only lists a source encoding once
slow:Encoding::Converter#convpath indicates if crlf_newline conversion would occur
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,11 @@ fails:Encoding::Converter.search_convpath returns multiple encoding pairs when d
fails:Encoding::Converter.search_convpath sets the last element of each pair to the first element of the next
fails:Encoding::Converter.search_convpath indicates if crlf_newline conversion would occur
fails:Encoding::Converter.search_convpath raises an Encoding::ConverterNotFoundError if no conversion path exists
slow:Encoding::Converter.search_convpath returns an Array
slow:Encoding::Converter.search_convpath returns each encoding pair as a sub-Array
slow:Encoding::Converter.search_convpath returns each encoding as an Encoding object
slow:Encoding::Converter.search_convpath returns multiple encoding pairs when direct conversion is impossible
slow:Encoding::Converter.search_convpath sets the last element of each pair to the first element of the next
slow:Encoding::Converter.search_convpath only lists a source encoding once
slow:Encoding::Converter.search_convpath indicates if crlf_newline conversion would occur
slow:Encoding::Converter.search_convpath raises an Encoding::ConverterNotFoundError if no conversion path exists
1 change: 1 addition & 0 deletions spec/truffle/tags/core/gc/garbage_collect_tags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
slow:GC#garbage_collect always returns nil
1 change: 1 addition & 0 deletions spec/truffle/tags/core/gc/start_tags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
slow:GC.start always returns nil
5 changes: 4 additions & 1 deletion spec/truffle/tags/core/kernel/eval_tags.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ fails:Kernel#eval sets constants at the toplevel from inside a block
fails:Kernel#eval uses the filename of the binding if none is provided
fails:Kernel#eval uses the receiver as self inside the eval
fails:Kernel#eval returns from the scope calling #eval when evaluating 'return'
fails:Kernel#eval unwinds through a Proc-style closure and returns from a lambda-style closure in the closure chain
fails:Kernel#eval unwinds through a Proc-style closure and returns from a lambda-style closure in the closure chain
slow:Kernel#eval raises a LocalJumpError if there is no lambda-style closure in the chain
slow:Kernel#eval does not share locals across eval scopes

2 changes: 2 additions & 0 deletions spec/truffle/tags/core/kernel/sleep_tags.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ fails:Kernel#sleep pauses execution indefinitely if not given a duration
fails:Kernel.sleep needs to be reviewed for spec completeness
fails:Kernel#sleep raises a TypeError when passed nil
fails:Kernel#sleep raises a TypeError when passed a String
slow:Kernel#sleep accepts a Float
slow:Kernel#sleep accepts a Rational
4 changes: 4 additions & 0 deletions spec/truffle/tags/core/objectspace/garbage_collect_tags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
slow:ObjectSpace.garbage_collect can be invoked without any exceptions
slow:ObjectSpace.garbage_collect doesn't accept any arguments
slow:ObjectSpace.garbage_collect ignores the supplied block
slow:ObjectSpace.garbage_collect always returns nil

0 comments on commit 65ce1eb

Please sign in to comment.