-
Notifications
You must be signed in to change notification settings - Fork 275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Programming exercise
: Fix an issue with VHDL not showing build failed correctly
#8945
Conversation
WalkthroughThis update primarily enhances the VHDL test environment by renaming and modifying functions in Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Script as default.sh
participant AssignmentDir as assignment Directory
participant Tests as tests Directory
User->>Script: Execute prepare_files()
Script->>AssignmentDir: Remove _tb.vhd files
Script->>Tests: Copy *_tb.vhd files to assignment/
Script->>AssignmentDir: Place copied *_tb.vhd files
User->>Makefile: Run all target
Makefile->>GHDL: Elaborate $(NAME)_tb
Makefile->>GHDL: Run $(NAME)_tb
sequenceDiagram
participant User
participant CompileTest as compileTest.py
participant GHDL
participant Result as Test Result
User->>CompileTest: Run export_junit()
CompileTest->>GHDL: Execute VHDL Testbench
GHDL->>CompileTest: Return stdout, stderr, retCode
alt retCode = 0
CompileTest->>Result: Add success info
else retCode != 0
CompileTest->>CompileTest: Return early
end
Tip AI model upgrade
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code
Programming exercise
: Fix build failed not showProgramming exercise
: Fix an issue with VHDL not showing build failed correctly
Checklist
General
Motivation and Context
Fix issue: #8886
Description
The problem is due to our VHDL template, not localci. The template generates a
result.xml
even though the code did not build, which makes artemis think that tests were run, so code was built. I adjusted the template so that it doesn't generate a test when build failsI changed the template we use so that it is more inline with the other programming languages. Now, we generateresult.xml
only if the code compiles and the testbench was run. We generate the testcases using the python script using the output of the testbench.The new template should serve as a guide for instructors on how to generate test cases for vhdl exercises
This solution, however, introduces another small issue. When the instructor creates the exercise, the template result will not show the failed tests since it doesn't compile
![image](https://private-user-images.githubusercontent.com/58034472/345105910-c16779b6-5951-4941-a9bb-c747331cab7e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA2NjgzNTIsIm5iZiI6MTcyMDY2ODA1MiwicGF0aCI6Ii81ODAzNDQ3Mi8zNDUxMDU5MTAtYzE2Nzc5YjYtNTk1MS00OTQxLWE5YmItYzc0NzMzMWNhYjdlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzExVDAzMjA1MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZlMDUwOTA4NTBmMDBkY2FjZjA4Yzk5NGZiODlhYjI2Y2EyYWFkYWUyMzIyYjg3YzgxYWRjYmJhM2ViMzljMTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.yeI-I06x0__ExBBLRsvXWgULm5IEJGcC3plMnj7SeFY)
Steps for Testing
Prerequisites:
After due date
(default setting)verzoegerung.vhd
is necessary)Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Click on the badges to get to the test servers.
Review Progress
Code Review
Manual Tests
Summary by CodeRabbit
Bug Fixes
compileTest.py
script to handle test failures more efficiently by returning early when errors occur.New Features
Improvements