Skip to content

Commit 5bd88a0

Browse files
author
Derek Hower
committed
Make a 'regress' do target
1 parent 9306455 commit 5bd88a0

File tree

2 files changed

+19
-77
lines changed

2 files changed

+19
-77
lines changed

.github/workflows/regress.yml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,5 @@ jobs:
3131
run: ./bin/build_container
3232
- name: Setup project
3333
run: ./bin/setup
34-
- name: Run IDL tests
35-
run: ./do idl_test
36-
- name: Run validator
37-
run: ./do validate
38-
- name: Build html documentation for generic_rv64
39-
run: ./do gen:html[generic_rv64]
40-
- name: Build PDF documentation for MockCRD-1
41-
run: ./do gen:crd_pdf[MockCRD-1]
42-
- name: Build PDF documentation for MC-1
43-
run: ./do gen:crd_pdf[MC-1]
44-
- name: Build PDF documentation for RVA Profile Family
45-
run: ./do gen:profile_pdf[rva]
34+
- name: Run regression
35+
run: ./do regress

Rakefile

Lines changed: 17 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -97,71 +97,6 @@ namespace :validate do
9797

9898
arch_def_64.type_check
9999

100-
# arch_def_64 = arch_def_for("_64")
101-
# arch_def_64.type_check
102-
103-
# puts "Type checking IDL code..."
104-
# progressbar = ProgressBar.create(title: "Instructions", total: arch_def_32.instructions.size + arch_def_64.instructions.size)
105-
# arch_def_32.instructions.each do |inst|
106-
# progressbar.increment
107-
# inst.type_checked_operation_ast(arch_def_32.idl_compiler, arch_def_32.symtab, 32) if inst.rv32?
108-
# end
109-
# arch_def_64.instructions.each do |inst|
110-
# progressbar.increment
111-
# inst.type_checked_operation_ast(arch_def_64.idl_compiler, arch_def_64.symtab, 64) if inst.rv64?
112-
# # also need to check for an RV64 machine running with effective XLEN of 32
113-
# inst.type_checked_operation_ast(arch_def_64.idl_compiler, arch_def_64.symtab, 32) if inst.rv64? && inst.rv32?
114-
# end
115-
116-
# progressbar = ProgressBar.create(title: "CSRs", total: arch_def_32.csrs.size + arch_def_64.csrs.size)
117-
# arch_def_32.csrs.each do |csr|
118-
# progressbar.increment
119-
# profile = RubyProf::Profile.new
120-
# result = profile.profile do
121-
# if csr.has_custom_sw_read?
122-
# csr.type_checked_sw_read_ast(arch_def_32.symtab) if csr.defined_in_base32?
123-
# end
124-
# csr.fields.each do |field|
125-
# unless field.type_ast(arch_def_32.symtab).nil?
126-
# field.type_checked_type_ast(arch_def_32.symtab) if csr.defined_in_base32? && field.defined_in_base32?
127-
# end
128-
# unless field.reset_value_ast(arch_def_32.symtab).nil?
129-
# field.type_checked_reset_value_ast(arch_def_32.symtab) if csr.defined_in_base32? && field.defined_in_base32?
130-
# end
131-
# unless field.sw_write_ast(arch_def_32.symtab).nil?
132-
# field.type_checked_sw_write_ast(arch_def_32.symtab, 32) if csr.defined_in_base32? && field.defined_in_base32?
133-
# end
134-
# end
135-
# end
136-
# RubyProf::GraphHtmlPrinter.new(result).print(File.open("#{csr.name}-prof.html", "w+"), {})
137-
# end
138-
# arch_def_64.csrs.each do |csr|
139-
# progressbar.increment
140-
# if csr.has_custom_sw_read?
141-
# csr.type_checked_sw_read_ast(arch_def_64.symtab) if csr.defined_in_base64?
142-
# end
143-
# csr.fields.each do |field|
144-
# unless field.type_ast(arch_def_64.symtab).nil?
145-
# field.type_checked_type_ast(arch_def_64.symtab) if csr.defined_in_base64? && field.defined_in_base64?
146-
# end
147-
# unless field.reset_value_ast(arch_def_64.symtab).nil?
148-
# field.type_checked_reset_value_ast(arch_def_64.symtab) if csr.defined_in_base64? && field.defined_in_base64?
149-
# end
150-
# unless field.sw_write_ast(arch_def_64.symtab).nil?
151-
# field.type_checked_sw_write_ast(arch_def_64.symtab, 32) if csr.defined_in_base32? && field.defined_in_base32?
152-
# field.type_checked_sw_write_ast(arch_def_64.symtab, 64) if csr.defined_in_base64? && field.defined_in_base64?
153-
# end
154-
# end
155-
# end
156-
# progressbar = ProgressBar.create(title: "Functions", total: arch_def_32.functions.size + arch_def_64.functions.size)
157-
# arch_def_32.functions.each do |func|
158-
# progressbar.increment
159-
# func.type_check(arch_def_32.symtab)
160-
# end
161-
# arch_def_64.functions.each do |func|
162-
# progressbar.increment
163-
# func.type_check(arch_def_64.symtab)
164-
# end
165100
puts "All IDL passed type checking"
166101
end
167102
end
@@ -325,3 +260,20 @@ namespace :gen do
325260
end
326261
end
327262
end
263+
264+
desc <<~DESC
265+
Run the regression tests
266+
267+
These tests must pass before a commit will be allowed in the main branch on GitHub
268+
DESC
269+
task :regress do
270+
Rake::Task["idl_test"].invoke
271+
Rake::Task["validate"].invoke
272+
Rake::Task["gen:html"].invoke("generic_rv64")
273+
Rake::Task["gen:crd_pdf"].invoke("MockCRD-1")
274+
Rake::Task["gen:crd_pdf"].invoke("MC-1")
275+
Rake::Task["gen:profile_pdf"].invoke("rva")
276+
277+
puts
278+
puts "Regression test PASSED"
279+
end

0 commit comments

Comments
 (0)