lc3spec 0.1.0 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6d874750aeeb6b7c7659d5c68945fdf7d062d97f
4
- data.tar.gz: e112c5c35204cf1e18567aaece03b4e9cc18a19a
3
+ metadata.gz: 1f686a8679caa7f3110190bb0ee425e509626c98
4
+ data.tar.gz: 53041547c4ec8e20cbd53723f8adbf9619bfd0be
5
5
  SHA512:
6
- metadata.gz: 3589a767df9570d047bd4d7927d5cfdd78cdcf23017ec3f16e13b81366197f4d2479f247cc8a6eb46f8a97fdc693f7e1d18f6939f67c894d24fe245d7a80bdc1
7
- data.tar.gz: deab9fada997b3b30cd4bbe5f8a5ea9efdd7e0fe2599899c1a9d2a1ee2c918196d45b85d7d648389466b96b7d0a8e90d4c2cd1eba3c125c5d1e7ece44442684e
6
+ metadata.gz: fd2f0ab0522bf867e8d9bff04160fb1a685ee06e958b26df5c6dd615bf3278c9fbc7ed46625ccafcb93829d1e377c9445b98e57461b1e20da4e670ac685afcaa
7
+ data.tar.gz: 9b2d49b370c77ef7753d84c5ead0bd047c1d7db968468a2f4584e29ceecbf84de4ee65e4b903655fec2ef05c866823a9a9d545dac4ca0dc52e173873878584d7
data/README.md CHANGED
@@ -5,3 +5,9 @@ Testing and grading suite for LC-3 assembly programs
5
5
  # Requirements
6
6
 
7
7
  * [lc3tools for unix](http://highered.mcgraw-hill.com/sites/0072467509/student_view0/lc-3_simulator.html)
8
+ * Ruby 2.0 (Does not work with 1.8.7, untested with 1.9.*)
9
+
10
+ # Bugs
11
+
12
+ * Cannot load two files that have the same basename (e.g., foo/baz.asm and
13
+ bar/baz.asm)
data/lib/lc3spec/base.rb CHANGED
@@ -22,6 +22,8 @@ module LC3Spec
22
22
 
23
23
  # Do everything inside tmp_dir
24
24
  Dir.mktmpdir('spec') do |tmp_dir|
25
+ @tmp_dir = tmp_dir
26
+
25
27
  Dir.chdir(tmp_dir) do
26
28
  @lc3 = LC3.new
27
29
 
@@ -63,9 +65,9 @@ module LC3Spec
63
65
  end
64
66
 
65
67
  def file(filename)
66
- ensure_present(filename)
67
- ensure_assembled(filename)
68
- @lc3.file(filename)
68
+ basename = ensure_present(filename)
69
+ ensure_assembled(basename)
70
+ @lc3.file(basename)
69
71
 
70
72
  self
71
73
  end
@@ -152,12 +154,12 @@ module LC3Spec
152
154
 
153
155
  if Dir.glob(basename + '*').empty?
154
156
  if is_absolute_path?(filename)
155
- Dir.glob(filename + '') do |fn|
156
- FileUtils.cp(fn, '.')
157
+ Dir.glob(filename + '*') do |fn|
158
+ FileUtils.cp(fn, @tmp_dir)
157
159
  end
158
160
  else
159
161
  Dir.glob(File.join(@src_dir, filename + '*')) do |fn|
160
- FileUtils.cp(fn, '.')
162
+ FileUtils.cp(fn, @tmp_dir)
161
163
  end
162
164
  end
163
165
  end
@@ -166,6 +168,8 @@ module LC3Spec
166
168
  if Dir.glob(basename + '*').empty?
167
169
  raise DoesNotAssembleError, "Cannot find file #{basename}"
168
170
  end
171
+
172
+ basename
169
173
  end
170
174
 
171
175
  def ensure_assembled(filename)
data/lib/lc3spec/lc3.rb CHANGED
@@ -17,8 +17,11 @@ class LC3
17
17
  def initialize
18
18
  # Logging
19
19
  @logger = Logger.new(STDERR)
20
- @logger.level = Logger::ERROR
21
- #@logger.level = Logger::DEBUG
20
+ if ENV['LC3DEBUG']
21
+ @logger.level = Logger::DEBUG
22
+ else
23
+ @logger.level = Logger::ERROR
24
+ end
22
25
  @logger.formatter = proc do |severity, datetime, progname, msg|
23
26
  "#{severity}: #{msg}\n"
24
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lc3spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chun Yang