ÿØÿà JFIF    ÿÛ „ ( %!1!%*+...983,7(-.- U:RDoc::TopLevel[ iI"make_cheatsheet.md:ETcRDoc::Parser::Markdowno:RDoc::Markup::Document: @parts[*S:RDoc::Markup::Heading: leveli: textI"8How to use "configure" and "make" commands for Ruby;To:RDoc::Markup::Paragraph;[I"UThis is for developers of Ruby. If you are a user of Ruby, please see README.md.;TS; ; i; I"In-place build;To:RDoc::Markup::Verbatim;[I"w$ ./autogen.sh $ ./configure --prefix=$PWD/local $ make $ make install $ ./local/bin/ruby -e 'puts "Hello"' Hello ;T: @format0S; ; i; I"Out-of-place build;To; ;[I"¥$ ./autogen.sh $ mkdir ../ruby-build $ cd ../ruby-build $ ../ruby-src/configure --prefix=$PWD/local $ make $ make install $ ./local/bin/ruby -e 'puts "Hello"' Hello ;T;0S; ; i; I"$How to run the whole test suite;To; ;[I"$ make check ;T;0o; ;[I"'It runs (about) three test suites:;To:RDoc::Markup::List: @type: BULLET: @items[ o:RDoc::Markup::ListItem: @label0;[o; ;[I"Cmake test (a test suite for the interpreter core);To;;0;[o; ;[I"Gmake test-all (for all builtin classes and libraries);To;;0;[o; ;[I"Tmake test-spec (a conformance test suite for Ruby implementations);To;;0;[o; ;[I"Kmake test-bundler (a test suite for the bundler examples);TS; ; i; I"'How to run the test suite with log;To; ;[I"S$ make test OPTS=-v $ make test-all TESTS=-v $ make test-spec MSPECOPT=-Vfs ;T;0S; ; i; I"(How to run a part of the test suite;TS; ; i; I"Runs a directory;To; ;[I"H$ make test-all TESTS=test/rubygems $ make test-all TESTS=rubygems ;T;0S; ; i; I"Runs a file;To; ;[I"P$ make test-all TESTS=test/ruby/test_foo.rb $ make test-all TESTS=ruby/foo ;T;0S; ; i; I"-Runs a test whose name includes test_bar;To; ;[I"A$ make test-all TESTS="test/ruby/test_foo.rb -n /test_bar/" ;T;0S; ; i; I"+Runs a file or directory with GNU make;To; ;[I"X$ make test/ruby/test_foo.rb $ make test/ruby/test_foo.rb TESTOPTS="-n /test_bar/" ;T;0S; ; i; I"Runs a ruby-spec directory;To; ;[I"2$ make test-spec MSPECOPT=spec/ruby/core/foo ;T;0S; ; i; I"Runs a ruby-spec file;To; ;[I">$ make test-spec MSPECOPT=spec/ruby/core/foo/bar_spec.rb ;T;0S; ; i; I"5Runs a ruby-spec file or directory with GNU make;To; ;[I"+$ make spec/ruby/core/foo/bar_spec.rb ;T;0S; ; i; I"Runs a bundler spec file;To; ;[I"@$ make test-bundler BUNDLER_SPECS=commands/exec_spec.rb:58 ;T;0S; ; i; I"/How to measure coverage of C and Ruby code;To; ;[I"?You need to be able to use gcc (gcov) and lcov visualizer.;To; ;[I"¨$ ./autogen.sh $ ./configure --enable-gcov $ make $ make update-coverage $ rm -f test-coverage.dat $ make test-all COVERAGE=true $ make lcov $ open lcov-out/index.html ;T;0o; ;[I"±If you need only C code coverage, you can remove COVERAGE=true from the above process. You can also use gcov command directly to get per-file coverage.;To; ;[I"ôIf you need only Ruby code coverage, you can remove --enable-gcov. Note that test-coverage.dat accumulates all runs of make test-all. Make sure that you remove the file if you want to measure one test run.;To; ;[I"GYou can see the coverage result of CI: https://rubyci.org/coverage;TS; ; i; I"How to benchmark;To; ;[I"Jsee https://github.com/ruby/ruby/tree/master/benchmark#make-benchmark;T: @file@:0@omit_headings_from_table_of_contents_below0