pgTAP に付随して公開されている pg_prove というツールでユニットテストの実行・計測ができる.
perl なので cpan からインストール. pg_prove コマンドが使えるようになる.
$ cpan TAP::Parser::SourceHandler::pgTAP
$ pg_prove --version
pg_prove 3.29
| $ psql $dbname $username --tuples-only -c "SELECT substring(version() from 'PostgreSQL (\d\.\d)')::float >= 9.3"| tr -d ' ' | |
| t |
pgTAP に付随して公開されている pg_prove というツールでユニットテストの実行・計測ができる.
perl なので cpan からインストール. pg_prove コマンドが使えるようになる.
$ cpan TAP::Parser::SourceHandler::pgTAP
$ pg_prove --version
pg_prove 3.29
PostgreSQL の ユニットテストフレームワーク pgTAP を使ってみる.
ドキュメント通りインストールする.
コンパイル:
$ wget http://api.pgxn.org/dist/pgtap/0.95.0/pgtap-0.95.0.zip
$ ./pgtap-0.95.0
$ cd pgtap-0.95.0
| #!/usr/bin/env python | |
| # -*- coding: utf-8 -*- | |
| import argparse | |
| import gzip | |
| import re | |
| import sys | |
| from Bio import SeqIO | |
| from Bio.Alphabet import IUPAC |
| CREATE EXTENSION IF NOT EXISTS tablefunc; | |
| CREATE TEMP TABLE my_rows (age integer, gender varchar, val integer); | |
| INSERT INTO my_rows VALUES (10, 'M', 11), (10, 'W', 12), (10, 'A', 13); | |
| INSERT INTO my_rows VALUES (20, 'M', 21), (20, 'W', 22); | |
| INSERT INTO my_rows VALUES (30, 'A', 33); | |
| -- rows | |
| SELECT * FROM my_rows; | |
| -- age | gender | my_value |
| DROP TABLE IF EXISTS my_tree; | |
| CREATE TABLE my_tree (id integer, parent integer); | |
| INSERT INTO my_tree VALUES (1, null), (2, 1), (3, 1), (4, 3); | |
| -- | |
| -- 1 | |
| -- / \ | |
| -- 2 3 | |
| -- | | |
| -- 4 |
| DROP TABLE IF EXISTS snp_info; | |
| CREATE TABLE snp_info ( | |
| snp_id varchar NOT NULL, | |
| foo integer, | |
| bar integer | |
| CHECK (foo IS NOT NULL OR bar IS NOT NULL) | |
| ); | |
| -- Success: | |
| -- INSERT INTO snp_info VALUES ('rs10', 1, NULL); |
| To do | Git | Hg | reference |
|---|---|---|---|
| commit内容を表示 | git show |
hg log -r REV -p |
link |
| 直前のcommit取り消し(変更内容は保持) | git reset --soft HEAD^ |
hg strip --keep -r . |
link, link |
| 直前のcommitメッセージ変更 | git commit —amend |
? | |
| ファイル削除も含めてadd | git add —A |
hg addremove |
-A = --no-ignore-removal |
| 過去のcommitがHEADから何番目かを調べる | git reflog |
? | |
| 特定のcommitまで戻る(HEADから何番目かを指定) | git reset --hard HEAD@{1} |
? | |
| addを取り消し | git reset |
? | |
| ステージされている変更のみを表示 | git diff head --cached? |
? |