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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ad58c3c90e4dae926007384d38ae93225641ab7b
4
- data.tar.gz: 40f4243e8203de6dca2fc8ed388525dcaf8f82cf
3
+ metadata.gz: 41905b266ac97fb301422be2e5decbdfeb405544
4
+ data.tar.gz: ca64fdf0c1cb613d15b4c0bf468c34c5322dcfb9
5
5
  SHA512:
6
- metadata.gz: d45ea87e663b245cec29bc35eb076cafb190bf0817d40360a96f0bc4d18693c77bb19b2889aa329b38388ba301c533a73e462e9e89dba214420251071dbbf379
7
- data.tar.gz: 7f37518c6c1998c3bcaf7909f21a8378e1d71b36ae221db1588e9d72e1927f043e242985e64ae02bed093f2db30a663e97eb524d2b48a73410d53aac355e65e9
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
- テストケースはとりあえず`assignment_09-*.c`用のものが入っています。
6
+ テストを実行するには`testcase.yml`を書く必要がありますが、 https://github.com/Kumassy/pro1-tester-testcases で共有しています。
7
7
 
8
8
  # How to use...
9
- **Vagrant** でも使って **CenOS** 環境で動かしましょう。
10
- Ruby と RSpec のインストールを事前にしておきましょう。
9
+ **Vagrant** でも使って **CentOS** 環境で動かしましょう。
10
+ Ruby のインストールを事前にしておきましょう。
11
11
 
12
+ テストスクリプトは **Gem** として配布しているので、次のコマンドでインストールしてください:
12
13
  ```
13
- git clone https://github.com/Kumassy/pro1-tester.git
14
- cd pro1-tester
14
+ gem install pro1-tester
15
15
  ```
16
16
 
17
- 同じディレクトリにソースコード (*.c) を置いてください。
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
- └── tester.rb
33
+ └── testcase.default.yml
35
34
  ```
36
35
  そして
37
36
  ```
38
- rspec tester.rb --color
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 pro1-tester
54
- docker run -it --rm -v "$PWD":/app/ -w /app/ my-ruby-image rspec tester.rb --color
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)})
@@ -1,3 +1,3 @@
1
1
  module Pro1Tester
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
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.0
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-20 00:00:00.000000000 Z
11
+ date: 2016-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler