исправление теста dlcache_test.go №2
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Pre-commit / pre-commit (push) Failing after 4m59s
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Pre-commit / pre-commit (push) Failing after 4m59s
				
			This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| @@ -88,7 +88,7 @@ i18n: | |||||||
| 	bash scripts/i18n-badge.sh | 	bash scripts/i18n-badge.sh | ||||||
|  |  | ||||||
| test-coverage: | test-coverage: | ||||||
| 	go test ./... -v -coverpkg=./... -coverprofile=coverage.out | 	go test -tags=test ./... -v -coverpkg=./... -coverprofile=coverage.out | ||||||
| 	bash scripts/coverage-badge.sh | 	bash scripts/coverage-badge.sh | ||||||
|  |  | ||||||
| update-deps-cve: | update-deps-cve: | ||||||
|   | |||||||
| @@ -25,7 +25,6 @@ import ( | |||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
|  |  | ||||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/config" | 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/config" | ||||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/utils" |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type Config interface { | type Config interface { | ||||||
| @@ -62,8 +61,8 @@ func (dc *DownloadCache) New(ctx context.Context, id string) (string, error) { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// Используем специальную функцию для создания каталогов с setgid битом | 	// Создаем директорию с правильными правами (различается для prod и тестов) | ||||||
| 	err = utils.EnsureTempDirWithRootOwner(itemPath, 0o2775) | 	err = createDir(itemPath, 0o2775) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return "", err | 		return "", err | ||||||
| 	} | 	} | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								pkg/dlcache/dlcache_prod.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								pkg/dlcache/dlcache_prod.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | //go:build !test | ||||||
|  |  | ||||||
|  | // ALR - Any Linux Repository | ||||||
|  | // Copyright (C) 2025 The ALR Authors | ||||||
|  | // | ||||||
|  | // This program is free software: you can redistribute it and/or modify | ||||||
|  | // it under the terms of the GNU General Public License as published by | ||||||
|  | // the Free Software Foundation, either version 3 of the License, or | ||||||
|  | // (at your option) any later version. | ||||||
|  | // | ||||||
|  | // This program is distributed in the hope that it will be useful, | ||||||
|  | // but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | // GNU General Public License for more details. | ||||||
|  | // | ||||||
|  | // You should have received a copy of the GNU General Public License | ||||||
|  | // along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | package dlcache | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"os" | ||||||
|  | 	"strings" | ||||||
|  |  | ||||||
|  | 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/utils" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // createDir создает директорию с правильными правами для production | ||||||
|  | func createDir(itemPath string, mode os.FileMode) error { | ||||||
|  | 	// Используем специальную функцию для создания каталогов с setgid битом только для /tmp/alr | ||||||
|  | 	// В остальных случаях используем обычное создание директории | ||||||
|  | 	if strings.HasPrefix(itemPath, "/tmp/alr") { | ||||||
|  | 		return utils.EnsureTempDirWithRootOwner(itemPath, mode) | ||||||
|  | 	} else { | ||||||
|  | 		return os.MkdirAll(itemPath, mode) | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -26,7 +26,6 @@ import ( | |||||||
| 	"io" | 	"io" | ||||||
| 	"os" | 	"os" | ||||||
| 	"path/filepath" | 	"path/filepath" | ||||||
| 	"strings" |  | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/config" | 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/config" | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								pkg/dlcache/dlcache_test_impl.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								pkg/dlcache/dlcache_test_impl.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | //go:build test | ||||||
|  |  | ||||||
|  | // ALR - Any Linux Repository | ||||||
|  | // Copyright (C) 2025 The ALR Authors | ||||||
|  | // | ||||||
|  | // This program is free software: you can redistribute it and/or modify | ||||||
|  | // it under the terms of the GNU General Public License as published by | ||||||
|  | // the Free Software Foundation, either version 3 of the License, or | ||||||
|  | // (at your option) any later version. | ||||||
|  | // | ||||||
|  | // This program is distributed in the hope that it will be useful, | ||||||
|  | // but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | // GNU General Public License for more details. | ||||||
|  | // | ||||||
|  | // You should have received a copy of the GNU General Public License | ||||||
|  | // along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | package dlcache | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"os" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // createDir создает директорию с обычными правами для тестирования | ||||||
|  | func createDir(itemPath string, mode os.FileMode) error { | ||||||
|  | 	return os.MkdirAll(itemPath, mode) | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user