ライブラリ
- rake (31)
-
rake
/ gempackagetask (1) -
rake
/ packagetask (11) -
rake
/ rdoctask (7) -
rake
/ testtask (8) -
rubygems
/ version _ option (2)
クラス
-
Rake
:: Application (2) -
Rake
:: FileList (4) -
Rake
:: GemPackageTask (1) -
Rake
:: InvocationChain (2) -
Rake
:: InvocationChain :: EmptyInvocationChain (1) -
Rake
:: NameSpace (1) -
Rake
:: PackageTask (11) -
Rake
:: RDocTask (7) -
Rake
:: Task (4) -
Rake
:: TaskArguments (4) -
Rake
:: TestTask (8)
モジュール
-
Gem
:: VersionOption (2) - Kernel (4)
-
Rake
:: TaskManager (9)
キーワード
- == (1)
- [] (3)
-
add
_ loader (1) -
add
_ platform _ option (1) -
add
_ version _ option (1) - append (2)
- application= (1)
- comment= (1)
-
create
_ rule (1) -
define
_ task (1) - desc (1)
- egrep (1)
-
enhance
_ with _ matching _ rule (1) -
excluded
_ from _ list? (1) - external= (1)
- file (1)
-
gem
_ spec= (1) - import (1)
-
in
_ namespace (1) - init (1)
- intern (1)
- libs= (1)
- loader= (1)
- lookup (2)
- member? (1)
- name= (3)
-
need
_ tar= (1) -
need
_ tar _ bz2= (1) -
need
_ tar _ gz= (1) -
need
_ zip= (1) -
new
_ scope (1) -
package
_ dir= (1) -
package
_ files= (1) - quote (1)
-
rdoc
_ files= (1) -
resolve
_ args (1) -
ruby
_ opts= (1) - rule (1)
-
set
_ arg _ names (1) - sources= (1)
-
synthesize
_ file _ task (1) -
tar
_ command= (1) - template= (1)
-
test
_ files= (1) - title= (1)
-
tty
_ output= (1) - verbose= (1)
- version= (1)
- warning= (1)
-
with
_ defaults (1) -
zip
_ command= (1)
検索結果
先頭5件
-
Kernel
# task(*args) { . . . } -> Rake :: Task (73282.0) -
Rake タスクを定義します。
Rake タスクを定義します。
@param args タスク名と依存タスクを指定します。
例:
task :clobber => [:clean] do
rm_rf "html"
end
@see Rake::Task.define_task -
Rake
:: TaskManager # define _ task(task _ class , *args) { . . . } -> Rake :: Task (55993.0) -
タスクを定義します。
タスクを定義します。
@param task_class タスククラスを指定します。
@param args タスクに渡すパラメータを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application.define_task(Rake::Task, :t) # => <Rake::Task t => []>
end
//} -
Rake
:: TaskManager # synthesize _ file _ task(task _ name) -> Rake :: FileTask | nil (55372.0) -
与えられたタスク名をもとにファイルタスクを合成します。
与えられたタスク名をもとにファイルタスクを合成します。
@param task_name タスク名を指定します。
@return 与えられたタスク名と同名のファイルが存在する場合は、ファイルタスクを作成して返します。
そうでない場合は nil を返します。
@raise RuntimeError タスクを合成できなかった場合に発生します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do |task|
task.applicatio... -
Rake
:: RDocTask # template=(template) (37222.0) -
使用するテンプレートをセットします。
使用するテンプレートをセットします。
@param template 使用するテンプレートを指定します。 -
Rake
:: PackageTask # need _ tar=(flag) (36394.0) -
gzip した tar ファイル (tgz) を作成するかどうかを設定します。
gzip した tar ファイル (tgz) を作成するかどうかを設定します。
@param flag 真または偽を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar # => false
package_task.need_tar = true
package_task.need_tar # => true
end
//}... -
Rake
:: PackageTask # need _ tar _ bz2=(flag) (36394.0) -
bzip2 した tar ファイル (tar.bz2) を作成するかどうかを設定します。
bzip2 した tar ファイル (tar.bz2) を作成するかどうかを設定します。
@param flag 真または偽を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar_bz2 # => false
package_task.need_tar_bz2 = true
package_task.need_tar_bz2 ... -
Rake
:: PackageTask # need _ tar _ gz=(flag) (36394.0) -
gzip した tar ファイル (tar.gz) を作成するかどうかを設定します。
gzip した tar ファイル (tar.gz) を作成するかどうかを設定します。
@param flag 真または偽を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_tar_gz # => false
package_task.need_tar_gz = true
package_task.need_tar_gz # => ... -
Rake
:: PackageTask # tar _ command=(command) (36322.0) -
tar コマンドとして使用するコマンドを設定します。
tar コマンドとして使用するコマンドを設定します。
@param command コマンドを文字列で指定します。 -
Rake
:: TestTask # test _ files=(list) (36322.0) -
明示的にテスト対象のファイルを指定します。
明示的にテスト対象のファイルを指定します。
Rake::TestTask#pattern=, Rake::TestTask#test_files= の
両方でテスト対象を指定した場合、両者は一つにまとめて使用されます。
@param list 配列か Rake::FileList のインスタンスを指定します。 -
Rake
:: TaskManager # intern(task _ class , task _ name) -> Rake :: Task (28483.0) -
タスクを検索します。
タスクを検索します。
タスクが見つかれば見つかったタスクを返します。
見つからなければ、与えられた型のタスクを作成して返します。
@param task_class タスクのクラスを指定します。
@param task_name タスクの名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do |task|
task.application.intern(Rake::Task, "test_rake_app") # => <Rake::... -
Rake
:: TaskManager # enhance _ with _ matching _ rule(task _ name , level = 0) -> Rake :: Task | nil (27964.0) -
与えられたタスク名にマッチしたルールが存在する場合は、そのタスクに見つかったルールの 事前タスクとアクションを追加して返します。
与えられたタスク名にマッチしたルールが存在する場合は、そのタスクに見つかったルールの
事前タスクとアクションを追加して返します。
@param task_name タスクの名前を指定します。
@param level 現在のルール解決のネストの深さを指定します。
@raise RuntimeError ルールの解決時にオーバーフローした場合に発生します。 -
Gem
:: VersionOption # add _ platform _ option(task = command , *wrap) (27661.0) -
option parser に対して --platform オプションを追加します。
option parser に対して --platform オプションを追加します。
@param task コマンド名を指定します。デフォルト値はインクルードされる側のクラスで指定されます。
@param wrap Gem::Command#add_option に渡すその他のオプションを指定します。 -
Gem
:: VersionOption # add _ version _ option(task = command , *wrap) (27661.0) -
option parser に対して --version オプションを追加します。
option parser に対して --version オプションを追加します。
@param task コマンド名を指定します。デフォルト値はインクルードされる側のクラスで指定されます。
@param wrap Gem::Command#add_option に渡すその他のオプションを指定します。 -
Rake
:: RDocTask # options=(options) (27622.0) -
rdoc コマンドに渡すオプションのリストをセットします。
rdoc コマンドに渡すオプションのリストをセットします。
@param options rdoc コマンドに渡されるオプションを指定します。 -
Rake
:: RDocTask # title=(title) (27622.0) -
RDoc のタイトルをセットします。
RDoc のタイトルをセットします。
@param title タイトルを指定します。 -
Rake
:: TestTask # options=(option _ str) (27622.0) -
テストスイートに渡すパラメータをセットします。
テストスイートに渡すパラメータをセットします。
@param option_str テストスイートに渡すパラメータを指定します。 -
Rake
:: TaskManager # create _ rule(*args) { . . . } (27394.0) -
与えられたパラメータに従ってルールを作成します。
与えられたパラメータに従ってルールを作成します。
@param args ルールに与えるパラメータを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
rule = Rake.application.create_rule '.txt' => '.md' do |t|
"#{t}"
end
p rule # => 0x0000558dd2e32d20 /path/to/Rakefile:5>
end
//} -
Rake
:: TaskArguments # with _ defaults(defaults) -> Hash (27358.0) -
パラメータにデフォルト値をセットします。
パラメータにデフォルト値をセットします。
@param defaults デフォルト値として使用するキーと値を格納したハッシュを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
arguments.to_hash ... -
Rake
:: PackageTask # init(name , version) (27340.0) -
自身の各属性にデフォルト値をセットします。
自身の各属性にデフォルト値をセットします。
@param name パッケージの名前を指定します。
@param version パッケージのバージョンを指定します。 -
Rake
:: RDocTask # external=(flag) (27322.0) -
外部のシェル経由で rdoc コマンドを実行するかどうかセットします。
外部のシェル経由で rdoc コマンドを実行するかどうかセットします。
@param flag 真または偽を指定します。 -
Rake
:: RDocTask # quote(str) -> String (27322.0) -
Rake::RDocTask#external が真の場合は与えられた文字列をクオートします。
Rake::RDocTask#external が真の場合は与えられた文字列をクオートします。
@param str クオートする文字列を指定します。 -
Rake
:: Task # application=(app) (27322.0) -
自身を所有している Rake::Application のインスタンスをセットします。
自身を所有している Rake::Application のインスタンスをセットします。
@param app 自身を所有しているアプリケーションを指定します。 -
Rake
:: Task # comment=(comment) (27322.0) -
自身のコメントをセットします。
自身のコメントをセットします。
与えられた文字列が 50 文字を越える場合や複数行である場合は文字列を切り詰めます。
@param comment コメントをあらわす文字列を指定します。 -
Rake
:: Task # set _ arg _ names(args) (27322.0) -
自身のパラメータの名前のリストをセットします。
自身のパラメータの名前のリストをセットします。
@param args シンボルのリストを指定します。 -
Rake
:: TestTask # ruby _ opts=(options) (27322.0) -
テスト実行時に Ruby コマンドに渡されるオプションをセットします。
テスト実行時に Ruby コマンドに渡されるオプションをセットします。
@param options 配列でオプションを指定します。 -
Rake
:: TaskManager # lookup(task _ name , initial _ scope = nil) -> Rake :: Task | nil (19354.0) -
与えられたタスク名にマッチするタスクを検索します。
与えられたタスク名にマッチするタスクを検索します。
このメソッドは、ファイルタスクやルールを合成せずにタスクを探します。
特別なスコープ ('^' など) が存在します。スコープが省略された場合は
現在のスコープを使用します。
@param task_name タスク名を指定します。
@param initial_scope 検索するスコープを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do |task|
task.applicati... -
Rake
:: TaskManager # [](task _ name , scopes = nil) -> Rake :: Task (19318.0) -
与えられたタスク名にマッチするタスクを検索します。
与えられたタスク名にマッチするタスクを検索します。
@param task_name タスク名を指定します。
@param scopes スコープを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application["test_rake_app"] # => <Rake::Task test_rake_app => []>
end
//} -
Rake
:: Application # tty _ output=(tty _ output _ state) (18658.0) -
TTY に対する出力状態を上書きします。
TTY に対する出力状態を上書きします。
大抵の場合、テストのために使用します。
@param tty_output_state 変更後の状態を指定します
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
Rake.application.tty_output? # => false
Rake.application.tty_output = "debug output" # => "debug output"
... -
Rake
:: TaskArguments # new _ scope(names) -> Rake :: TaskArguments (18658.0) -
与えられたパラメータ名のリストを使用して新しい Rake::TaskArguments を作成します。
与えられたパラメータ名のリストを使用して新しい Rake::TaskArguments を作成します。
@param names パラメータ名のリストを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
new_arguments = arguments.new_scope(["nam... -
Rake
:: InvocationChain :: EmptyInvocationChain # append(task _ name) -> Rake :: InvocationChain (18643.0) -
与えられた値を追加した Rake::InvocationChain を返します。
与えられた値を追加した Rake::InvocationChain を返します。
@param task_name 追加する値を指定します。 -
Rake
:: PackageTask # package _ files=(file _ list) (18394.0) -
パッケージに含むファイルリストを設定します。
パッケージに含むファイルリストを設定します。
@param file_list ファイルリストを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.package_files # => []
package_task.packag... -
Rake
:: FileList # excluded _ from _ list?(file _ name) -> bool (18358.0) -
与えられたファイル名が除外される場合は、真を返します。 そうでない場合は偽を返します。
与えられたファイル名が除外される場合は、真を返します。
そうでない場合は偽を返します。
@param file_name ファイル名を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb")
file_list.exclude("t... -
Rake
:: FileList # import(array) -> self (18358.0) -
与えられた配列を自身にインポートします。
与えられた配列を自身にインポートします。
@param array ファイル名のリストを指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("test1.rb", "test")
IO.write("test2.rb", "test")
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new("test1.rb", "test2.rb", "test3.rb")
file_list.import(["test4.rb", "... -
Rake
:: TaskArguments # [](key) -> object (18358.0) -
与えられたパラメータ名に対応する値を返します。
与えられたパラメータ名に対応する値を返します。
@param key パラメータの名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
arguments = Rake::TaskArguments.new(["name1", "name2"], ["value1", "value2"])
arguments["name1"] # => "value1"
arguments["name2"] # => "value2"
end
/... -
Rake
:: PackageTask # version=(str) (18322.0) -
作成するパッケージのバージョンをセットします。
作成するパッケージのバージョンをセットします。
@param str バージョンを表す文字列を指定します。 -
Rake
:: RDocTask # rdoc _ files=(filelist) (18322.0) -
RDoc の生成に使用するファイルリストをセットします。
RDoc の生成に使用するファイルリストをセットします。
@param filelist ファイルリストを指定します。 -
Rake
:: TaskArguments # lookup(name) -> object (18322.0) -
与えられた名前に対応する値を返します。
与えられた名前に対応する値を返します。
@param name パラメータ名を指定します。 -
Rake
:: TestTask # loader=(style) (18322.0) -
テストをロードする方法を指定します。
テストをロードする方法を指定します。
指定できる方法は以下の通りです。
: rake
Rake が提供する方法でテストをロードします。デフォルトはこれです。
: testrb
Ruby が提供する testrb コマンドを用いてテストをロードします。
: direct
コマンドラインで指定したファイルをロードします。
@param style シンボルでテストをロードする方法を指定します。 -
Rake
:: TestTask # name=(str) (18322.0) -
テストタスクの名前をセットします。
テストタスクの名前をセットします。
@param str テストタスクの名前を指定します。 -
Rake
:: PackageTask # name=(name) (18094.0) -
バージョン情報を含まないパッケージの名前をセットします。
バージョン情報を含まないパッケージの名前をセットします。
@param name パッケージの名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.name # => "sample"
package_task.name = "update"
package_task.name # => "update"
end
//} -
Rake
:: PackageTask # need _ zip=(flag) (18094.0) -
zip ファイル (tgz) を作成するかどうかを設定します。
zip ファイル (tgz) を作成するかどうかを設定します。
@param flag 真または偽を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.need_zip # => false
package_task.need_zip = true
package_task.need_zip # => true
end
//} -
Rake
:: PackageTask # package _ dir=(dirname) (18094.0) -
パッケージに入れるファイルを保存するディレクトリ名をセットします。
パッケージに入れるファイルを保存するディレクトリ名をセットします。
@param dirname パッケージに入れるファイルを保存するディレクトリ名を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
require 'rake/packagetask'
Rake::PackageTask.new("sample", "1.0.0") do |package_task|
package_task.package_dir # => "pkg"
package_task.package_dir = "package"
package_tas... -
Rake
:: TaskManager # in _ namespace(name) {|name _ space| . . . } -> Array (18076.0) -
与えられた名前の名前空間でブロックを評価します。
与えられた名前の名前空間でブロックを評価します。
@param name 名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
namespace :sample do
def hoge
puts "hoge"
end
end
task :test_rake_app do
task.application.in_namespace("sample") do
hoge # => "hoge"
end
end
//} -
Rake
:: TaskManager # resolve _ args(args) -> Array (18040.0) -
タスクやルールに与えられたパラメータを解釈します。
タスクやルールに与えられたパラメータを解釈します。
@param args パラメータを指定します。
@return [task_name, arg_name_list, prerequisites] を返します。 -
Rake
:: GemPackageTask # gem _ spec=(gem _ spec) (18022.0) -
gemspec をセットします。
gemspec をセットします。
@param gem_spec Gem::Specification のインスタンスを指定します。 -
Rake
:: PackageTask # zip _ command=(command) (18022.0) -
zip コマンドとして使用するコマンドを設定します。
zip コマンドとして使用するコマンドを設定します。
@param command コマンドを文字列で指定します。 -
Rake
:: RDocTask # name=(name) (18022.0) -
タスクの名前をセットします。
タスクの名前をセットします。
@param name タスクの名前を指定します。 -
Rake
:: Task # sources=(sources) (18022.0) -
自身が依存するファイルのリストをセットします。
自身が依存するファイルのリストをセットします。
@param sources 自身が依存するファイルのリストを指定します。 -
Rake
:: TestTask # libs=(libs) (18022.0) -
テスト実行前に $LOAD_PATH に追加するパスをセットします。
テスト実行前に $LOAD_PATH に追加するパスをセットします。
@param libs $LOAD_PATH に追加するパスを配列で指定します。 -
Rake
:: TestTask # verbose=(flag) (18022.0) -
テストの実行結果を詳細に表示するかどうかをセットします。
テストの実行結果を詳細に表示するかどうかをセットします。
@param flag 真または偽を指定します。 -
Rake
:: TestTask # warning=(flag) (18022.0) -
テスト実行時に警告を表示させるかどうかをセットします。
テスト実行時に警告を表示させるかどうかをセットします。
@param flag 真または偽を指定します。 -
Rake
:: InvocationChain # append(task _ name) -> Rake :: InvocationChain (9751.0) -
与えられたタスク名を追加して新しい Rake::InvocationChain を返します。
与えられたタスク名を追加して新しい Rake::InvocationChain を返します。
@param task_name 追加するタスク名を指定します。
@raise RuntimeError 循環したタスクの呼び出しを検出した場合に発生します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
invocation_chain= Rake::InvocationChain.new("task_a", Rake::InvocationChain:... -
Rake
:: InvocationChain # member?(task _ name) -> bool (9733.0) -
与えられたタスク名が自身に含まれる場合は真を返します。 そうでない場合は偽を返します。
与えられたタスク名が自身に含まれる場合は真を返します。
そうでない場合は偽を返します。
@param task_name タスク名を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
invocation_chain = Rake::InvocationChain.new("task_a", Rake::InvocationChain::EMPTY)
invocation_chain.member?("task_a") # => true... -
Rake
:: Application # add _ loader(ext , loader) (9448.0) -
与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを 自身に追加します。
与えられた拡張子で終わるファイル名のファイルをロードするためのローダーを
自身に追加します。
@param ext 拡張子を指定します。
@param loader ローダーを指定します。
//emlist[例][ruby]{
require "rake/loaders/makefile"
# Rakefile での記載例とする
task default: :test
task :test
makefile =<<-EOS
<< <<-'SAMPLE_MF'
# Comments
a: a1 a2 a3 a4
EOS
IO.write("sample.mf", makefile)... -
Rake
:: FileList # egrep(pattern) {|filename , count , line| . . . } (9358.0) -
与えられたパターンをファイルリストから grep のように検索します。
与えられたパターンをファイルリストから grep のように検索します。
ブロックが与えられた場合は、マッチした行の情報 (ファイル名、行番号、マッチした行) が
ブロックに渡されてブロックが評価されます。ブロックが与えられなかった場合は、
標準出力に、ファイル名:行番号:マッチした行を出力します。
@param pattern 正規表現を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
IO.write("sample1", "line1\nline2\nline3\n")
IO.write("sample2", "line1\nline2\n... -
Rake
:: FileList # ==(array) -> bool (9058.0) -
自身を配列に変換してから与えられた配列と比較します。
自身を配列に変換してから与えられた配列と比較します。
@param array 比較対象の配列を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do
file_list = FileList.new('lib/**/*.rb', 'test/test*.rb')
file_list == file_list.to_a # => true
end
//} -
Rake
:: NameSpace # [](name) -> Rake :: Task (697.0) -
与えられた名前のタスクを返します。
与えられた名前のタスクを返します。
@param name タスクの名前を指定します。
//emlist[][ruby]{
# Rakefile での記載例とする
namespace :ns do |ns|
task :ts1 do
end
task :ts2 do
end
ns[:ts1] # => <Rake::Task ns:ts1 => []>
ns[:ts2] # => <Rake::Task ns:ts2 => []>
end
//} -
Kernel
# rule(*args) {|t| . . . } -> Rake :: Task (682.0) -
自動的に作成するタスクのためのルールを定義します。
自動的に作成するタスクのためのルールを定義します。
@param args ルールに与えるパラメータを指定します。
例:
rule '.o' => '.c' do |t|
sh %{cc -o #{t.name} #{t.source}}
end -
Kernel
# file(*args) { . . . } -> Rake :: FileTask (658.0) -
ファイルタスクを定義します。
ファイルタスクを定義します。
@param args ファイル名と依存ファイル名を指定します。
例:
file "config.cfg" => ["config.template"] do
open("config.cfg", "w") do |outfile|
open("config.template") do |infile|
while line = infile.gets
outfile.puts line
end
end
end
end
@see Rake:... -
Kernel
# desc(description) -> String (340.0) -
直後の Rake タスクの説明を登録します。
直後の Rake タスクの説明を登録します。
@param description 直後のタスクの説明を指定します。
例:
desc "Run the Unit Tests"
task :test => [:build] do
runtests
end