[前][次][番号順一覧][スレッド一覧]

ruby-changes:59792

From: Yusuke <ko1@a...>
Date: Fri, 24 Jan 2020 10:30:12 +0900 (JST)
Subject: [ruby-changes:59792] db82c680cd (master): doc/make-cheetsheet.md: Added

https://git.ruby-lang.org/ruby.git/commit/?id=db82c680cd

From db82c680cdc1cf282e5792ca682ed719ae5879db Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Fri, 24 Jan 2020 10:29:33 +0900
Subject: doc/make-cheetsheet.md: Added


diff --git a/doc/make-cheetsheet.md b/doc/make-cheetsheet.md
new file mode 100644
index 0000000..5b08536
--- /dev/null
+++ b/doc/make-cheetsheet.md
@@ -0,0 +1,89 @@ https://github.com/ruby/ruby/blob/trunk/doc/make-cheetsheet.md#L1
+# How to use "configure" and "make" commands for Ruby
+
+This is for developers of Ruby.
+If you are a user of Ruby, please see README.md.
+
+## In-place build
+
+```
+$ autoconf
+$ ./configure --prefix=$PWD/local
+$ make
+$ make install
+$ ./local/bin/ruby -e 'puts "Hello"'
+Hello
+```
+
+## Out-of-place build
+
+```
+$ autoconf
+$ mkdir ../ruby-build
+$ cd ../ruby-build
+$ ../ruby-src/configure --prefix=$PWD/local
+$ make
+$ make install
+$ ./local/bin/ruby -e 'puts "Hello"'
+Hello
+```
+
+## How to run the whole test suite
+
+```
+$ make check
+```
+
+It runs (about) three test suites:
+
+* `make test` (a test suite for the interpreter core)
+* `make test-all` : (for all builtin classes and libraries)
+* `make test-spec` : (a conformance test suite for Ruby implementations)
+
+## How to run the test suite with log
+
+```
+$ make test OPTS=-v
+
+$ make test-all TESTS=-v
+
+$ make test-spec MSPECOPT=-Vfs
+```
+
+## How to run a part of the test suite
+
+```
+# Runs a directory
+$ make test-all TESTS=test/rubygems
+$ make test-all TESTS=rubygems
+
+# Runs a file
+$ make test-all TESTS=test/ruby/test_foo.rb
+$ make test-all TESTS=ruby/foo
+
+# Runs a test whose name includes test_bar
+$ make test-all TESTS="test/ruby/test_foo.rb -n /test_bar/"
+```
+
+## How to measure coverage of C and Ruby code
+
+You need to be able to use gcc (gcov) and lcov visualizer.
+
+```
+$ autoconf
+$ ./configure --enable-gcov
+$ make
+$ make update-coverage
+$ rm -f test-coverage.dat
+$ make test-all COVERAGE=true
+$ make lcov
+$ open lcov-out/index.html
+```
+
+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.
+
+If you need only Ruby code coverage, you can remove `--enable-gcov`.
+Note that `test-coverage.dat` accumlates all runs of `make test-all`.
+Make sure that you remove the file if you want to measure one test run.
+
+You can see the coverage result of CI: https://rubyci.org/coverage
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]