pro1-tester 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -16
- data/lib/core.rb +5 -0
- data/lib/pro1_tester/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41905b266ac97fb301422be2e5decbdfeb405544
|
4
|
+
data.tar.gz: ca64fdf0c1cb613d15b4c0bf468c34c5322dcfb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce59890e42e5c02b1f3f89e8b303974d59c11be0014f6de8dc3d46b51fdd15691bf1143fca22d52ca014741c80ebd75b30e51ecd2c005081a2b2f43a4f63b966
|
7
|
+
data.tar.gz: 4230f387b0456024a58a7b13f6fc5fdec1d827c8a8f4108ad0dfc158495040caefb324dfb600fd5d89a3859cb561cf251b747bcd6931941459debd13c6064cdd
|
data/README.md
CHANGED
@@ -3,21 +3,20 @@ BDD for Pro1
|
|
3
3
|
|
4
4
|
# Overview
|
5
5
|
プロ1のテストを自動化するためのスクリプトです。
|
6
|
-
|
6
|
+
テストを実行するには`testcase.yml`を書く必要がありますが、 https://github.com/Kumassy/pro1-tester-testcases で共有しています。
|
7
7
|
|
8
8
|
# How to use...
|
9
|
-
**Vagrant** でも使って **
|
10
|
-
Ruby
|
9
|
+
**Vagrant** でも使って **CentOS** 環境で動かしましょう。
|
10
|
+
Ruby のインストールを事前にしておきましょう。
|
11
11
|
|
12
|
+
テストスクリプトは **Gem** として配布しているので、次のコマンドでインストールしてください:
|
12
13
|
```
|
13
|
-
|
14
|
-
cd pro1-tester
|
14
|
+
gem install pro1-tester
|
15
15
|
```
|
16
16
|
|
17
|
-
|
17
|
+
`testcase.yml` をソースコード `*.c` と同じディレクトリに置いてください:
|
18
18
|
```
|
19
19
|
.
|
20
|
-
├── Dockerfile
|
21
20
|
├── assignment_09-a-01.c
|
22
21
|
├── assignment_09-a-02.c
|
23
22
|
├── assignment_09-a-03.c
|
@@ -31,11 +30,11 @@ cd pro1-tester
|
|
31
30
|
├── assignment_09-c-02.c
|
32
31
|
├── assignment_09-d-01.c
|
33
32
|
├── testcase.yml
|
34
|
-
└──
|
33
|
+
└── testcase.default.yml
|
35
34
|
```
|
36
35
|
そして
|
37
36
|
```
|
38
|
-
|
37
|
+
pro1-tester
|
39
38
|
```
|
40
39
|
を実行するとテスト結果がでます。
|
41
40
|
|
@@ -50,8 +49,8 @@ docker build -t my-ruby-image .
|
|
50
49
|
|
51
50
|
## Docker コンテナの実行
|
52
51
|
```
|
53
|
-
cd
|
54
|
-
docker run -it --rm -v "$PWD":/app/ -w /app/ my-ruby-image
|
52
|
+
cd /path/to/source/and/testcase.yml/
|
53
|
+
docker run -it --rm -v "$PWD":/app/ -w /app/ my-ruby-image pro1-tester
|
55
54
|
```
|
56
55
|
|
57
56
|
# Writing `testcase.yml`
|
@@ -95,13 +94,13 @@ docker run -it --rm -v "$PWD":/app/ -w /app/ my-ruby-image rspec tester.rb --col
|
|
95
94
|
- `input` を`|`を使って複数行で書いたときは、最終行も含めそれぞれの行末に`\n`がつきます。
|
96
95
|
- 標準出力と`expect`は以下のルールで比較されます
|
97
96
|
- 改行の直前にある1文字以上の空白文字を取り除きます
|
98
|
-
- これにより標準出力の行末にスペースが入っていてもいい感じにマッチします。
|
97
|
+
- これにより標準出力の行末にスペースが入っていてもいい感じにマッチします。
|
99
98
|
- 最終行の改行を取り除きます
|
100
99
|
- これは`expect`が1行だけで、明示的に`\n`を指定しないときにもマッチするようにするためです。
|
101
100
|
|
102
101
|
# My Environment (on Vagrant)
|
103
102
|
```
|
104
|
-
cat /etc/redhat-release
|
103
|
+
cat /etc/redhat-release
|
105
104
|
CentOS release 6.7 (Final)
|
106
105
|
```
|
107
106
|
```
|
@@ -118,7 +117,7 @@ Using built-in specs.
|
|
118
117
|
Target: x86_64-redhat-linux
|
119
118
|
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
|
120
119
|
スレッドモデル: posix
|
121
|
-
gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
|
120
|
+
gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
|
122
121
|
```
|
123
122
|
```
|
124
123
|
docker -v
|
@@ -126,6 +125,4 @@ Docker version 1.7.1, build 786b29d
|
|
126
125
|
```
|
127
126
|
|
128
127
|
# TODO
|
129
|
-
- `Gemfile`かく
|
130
|
-
- テストケースのシンタックスみすったときのエラーをまともにする
|
131
128
|
- 無限ループするプログラムに対してのタイムアウト処理
|
data/lib/core.rb
CHANGED
@@ -42,6 +42,11 @@ module Pro1Tester
|
|
42
42
|
# src_file = Dir.glob(DIR_BASE + "/*").grep(/#{src_file_identifer}.c/).first
|
43
43
|
# src_path = File.join(DIR_BASE,src_file)
|
44
44
|
|
45
|
+
if src_file.nil?
|
46
|
+
puts "#{src_file_identifer} was not found. skipped."
|
47
|
+
next
|
48
|
+
end
|
49
|
+
|
45
50
|
# compile
|
46
51
|
# %x(gcc #{src_file} -o #{File.join(DIST_DIR, src_file_identifer)})
|
47
52
|
%x(gcc #{src_file} -o #{File.join(DIR_PWD, DIST_DIR, src_file_identifer)})
|
data/lib/pro1_tester/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pro1-tester
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kumassy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|