mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	Added explanation about configure and create test
Added explanation about configure unit test environment and how to add new unit tests
This commit is contained in:
		
							parent
							
								
									e0152319f5
								
							
						
					
					
						commit
						3f2f64f414
					
				
					 1 changed files with 75 additions and 0 deletions
				
			
		
							
								
								
									
										75
									
								
								CodingReadme
									
										
									
									
									
								
							
							
						
						
									
										75
									
								
								CodingReadme
									
										
									
									
									
								
							|  | @ -411,3 +411,78 @@ Updating the website: | |||
| 	git commit -am update | ||||
| 	make push | ||||
| 
 | ||||
| How to add unit test | ||||
| ==================== | ||||
| 
 | ||||
| Unit test brings some advantages, briefly, we can list some of them (reference | ||||
| [1](https://en.wikipedia.org/wiki/Unit_testing)): | ||||
| 
 | ||||
| * Tests reduce bugs in new features; | ||||
| * Tests reduce bugs in existing features; | ||||
| * Tests are good documentation; | ||||
| * Tests reduce the cost of change; | ||||
| * Tests allow refactoring; | ||||
| 
 | ||||
| With those advantages in mind, it was required to choose a framework which fits | ||||
| well with C/C++ code.  Hence, it was chosen (google test) | ||||
| [https://github.com/google/googletest], because it is largely used and it is | ||||
| relatively easy learn. | ||||
| 
 | ||||
| Install and configure google test (manually) | ||||
| ============================================ | ||||
| 
 | ||||
| In this section, you will see a brief description of how to install google | ||||
| test. However, it is strongly recommended that you take a look to the official | ||||
| repository (https://github.com/google/googletest) and refers to that if you | ||||
| have any problem to install it. Follow the steps below: | ||||
| 
 | ||||
| * Install: cmake | ||||
| * Clone google test project from: //github.com/rodrigosiqueira/logbook.git and | ||||
|   enter in the project directory | ||||
| * Inside project directory, type: | ||||
| 
 | ||||
| ``` | ||||
| cmake -DBUILD_SHARED_LIBS=ON . | ||||
| make | ||||
| ``` | ||||
| 
 | ||||
| * After compilation, copy all "*.so" inside directory "googlemock" and | ||||
|   "googlemock/gtest" to "/usr/lib/" | ||||
| * Done! Now you can compile your tests. | ||||
| 
 | ||||
| If you have any problem, go to the official repository to find help. | ||||
| 
 | ||||
| Ps.: Some distros already have googletest packed. If your distro supports it, | ||||
| you can use it instead of compile. | ||||
| 
 | ||||
| Create new unit test | ||||
| ======================= | ||||
| 
 | ||||
| If you want to add new unit tests for Yosys, just follow the steps below: | ||||
| 
 | ||||
| * Go to directory "yosys/test/unit/" | ||||
| * In this directory you can find something similar Yosys's directory structure. | ||||
|   To create your unit test file you have to follow this pattern: | ||||
|   fileNameToImplementUnitTest + Test.cc. E.g.: if you want to implement the | ||||
|   unit test for kernel/celledges.cc, you will need to create a file like this: | ||||
|   tests/unit/kernel/celledgesTest.cc; | ||||
| * Implement your unit test | ||||
| * If you want to compile your tests, just go to yosys root directory and type: | ||||
| ``` | ||||
| make unit-test | ||||
| ``` | ||||
| 
 | ||||
| Run unit test | ||||
| ============= | ||||
| 
 | ||||
| To run all unit tests, you need to compile it first and then run it. Follow the | ||||
| steps below (from the yosys root directory): | ||||
| ``` | ||||
| make unit-test | ||||
| make run-all-unitest | ||||
| ``` | ||||
| 
 | ||||
| If you want to remove all unit test files, type: | ||||
| ``` | ||||
| make clean-unit-test | ||||
| ``` | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue