mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 19:52:31 +00:00 
			
		
		
		
	split CodingReadme into multiple files
This commit is contained in:
		
							parent
							
								
									92d5550a90
								
							
						
					
					
						commit
						d9ec35a526
					
				
					 11 changed files with 295 additions and 318 deletions
				
			
		
							
								
								
									
										69
									
								
								guidelines/UnitTests
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								guidelines/UnitTests
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,69 @@ | |||
| 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 and pthread | ||||
| * Clone google test project from: https://github.com/google/googletest 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 | ||||
| 
 | ||||
| Run unit test | ||||
| ------------- | ||||
| 
 | ||||
| To compile and run all unit tests, just go to yosys root directory and type: | ||||
| ``` | ||||
| make unit-test | ||||
| ``` | ||||
| 
 | ||||
| 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