mirror of
				https://github.com/eledio-devices/thirdparty-littlefs.git
				synced 2025-10-31 00:32:38 +01:00 
			
		
		
		
	Added ./script/summary.py
A full summary of static measurements (code size, stack usage, etc) can now
be found with:
    make summary
This is done through the combination of a new ./scripts/summary.py
script and the ability of existing scripts to merge into existing csv
files, allowing multiple results to be merged either in a pipeline, or
in parallel with a single ./script/summary.py call.
The ./scripts/summary.py script can also be used to quickly compare
different builds or configurations. This is a proper implementation
of a similar but hacky shell script that has already been very useful
for making optimization decisions:
    $ ./scripts/structs.py new.csv -d old.csv --summary
    name (2 added, 0 removed)               code             stack            structs
    TOTAL                                  28648 (-2.7%)      2448               1012
Also some other small tweaks to scripts:
- Removed state saving diff rules. This isn't the most useful way to
  handle comparing changes.
- Added short flags for --summary (-Y) and --files (-F), since these
  are quite often used.
			
			
This commit is contained in:
		
							
								
								
									
										34
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								Makefile
									
									
									
									
									
								
							| @@ -56,6 +56,9 @@ endif | ||||
| ifdef EXEC | ||||
| override TESTFLAGS += --exec="$(EXEC)" | ||||
| endif | ||||
| ifdef COVERAGE | ||||
| override TESTFLAGS += --coverage | ||||
| endif | ||||
| ifdef BUILDDIR | ||||
| override TESTFLAGS     += --build-dir="$(BUILDDIR:/=)" | ||||
| override CALLSFLAGS    += --build-dir="$(BUILDDIR:/=)" | ||||
| @@ -104,41 +107,34 @@ test%: tests/test$$(firstword $$(subst \#, ,%)).toml | ||||
| code: $(OBJ) | ||||
| 	./scripts/code.py $^ -S $(CODEFLAGS) | ||||
|  | ||||
| .PHONY: code-diff | ||||
| code-diff: $(OBJ) | ||||
| 	./scripts/code.py $^ -d $(TARGET).code.csv -o $(TARGET).code.csv $(CODEFLAGS) | ||||
|  | ||||
| .PHONY: data | ||||
| data: $(OBJ) | ||||
| 	./scripts/data.py $^ -S $(DATAFLAGS) | ||||
|  | ||||
| .PHONY: data-diff | ||||
| data-diff: $(OBJ) | ||||
| 	./scripts/data.py $^ -d $(TARGET).data.csv -o $(TARGET).data.csv $(DATAFLAGS) | ||||
|  | ||||
| .PHONY: stack | ||||
| stack: $(CGI) | ||||
| 	./scripts/stack.py $^ -S $(STACKFLAGS) | ||||
|  | ||||
| .PHONY: stack-diff | ||||
| stack-diff: $(CGI) | ||||
| 	./scripts/stack.py $^ -d $(TARGET).stack.csv -o $(TARGET).stack.csv $(STACKFLAGS) | ||||
|  | ||||
| .PHONY: structs | ||||
| structs: $(OBJ) | ||||
| 	./scripts/structs.py $^ -S $(STRUCTSFLAGS) | ||||
|  | ||||
| .PHONY: structs-diff | ||||
| structs-diff: $(OBJ) | ||||
| 	./scripts/structs.py $^ -d $(TARGET).structs.csv -o $(TARGET).structs.csv $(STRUCTSFLAGS) | ||||
|  | ||||
| .PHONY: coverage | ||||
| coverage: | ||||
| 	./scripts/coverage.py $(BUILDDIR)tests/*.toml.info -s $(COVERAGEFLAGS) | ||||
|  | ||||
| .PHONY: coverage-diff | ||||
| coverage-diff: | ||||
| 	./scripts/coverage.py $(BUILDDIR)tests/*.toml.info $(COVERAGEFLAGS) | ||||
| .PHONY: summary | ||||
| summary: $(OBJ) $(CGI) | ||||
| 	$(strip \ | ||||
| 		  ./scripts/code.py    $(OBJ) -q      -o - $(CODEFLAGS) \ | ||||
| 		| ./scripts/data.py    $(OBJ) -q -m - -o - $(DATAFLAGS) \ | ||||
| 		| ./scripts/stack.py   $(CGI) -q -m - -o - $(STACKFLAGS) \ | ||||
| 		| ./scripts/structs.py $(OBJ) -q -m - -o - $(STRUCTFLAGS) \ | ||||
| 		$(if $(COVERAGE),\ | ||||
| 			| ./scripts/coverage.py $(BUILDDIR)tests/*.toml.info \ | ||||
| 				-q -m - -o - $(COVERAGEFLAGS)) \ | ||||
| 		| ./scripts/summary.py $(SUMMARYFLAGS)) | ||||
|  | ||||
|  | ||||
| # rules | ||||
| -include $(DEP) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user