lc3spec 0.1.0 → 0.1.3

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: 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