Run integration tests.
(self)
| 150 | return False |
| 151 | |
| 152 | def _run_integration_tests(self) -> bool: |
| 153 | """Run integration tests.""" |
| 154 | print("Running Integration Tests...") |
| 155 | |
| 156 | integration_script = self.root_path / "scripts" / "integration-tester.py" |
| 157 | |
| 158 | if not integration_script.exists(): |
| 159 | print("[ERROR] Integration tester script not found") |
| 160 | return False |
| 161 | |
| 162 | if not self.repo_owner or not self.repo_name: |
| 163 | print("[WARN] Could not detect repository info - skipping integration tests") |
| 164 | return True |
| 165 | |
| 166 | if not self.github_token: |
| 167 | print("[WARN] No GitHub token provided - skipping API-dependent integration tests") |
| 168 | return True |
| 169 | |
| 170 | try: |
| 171 | result = subprocess.run( |
| 172 | [sys.executable, str(integration_script), "--repo-owner", self.repo_owner, "--repo-name", self.repo_name, "--github-token", self.github_token, "--root", str(self.root_path)], |
| 173 | capture_output=True, |
| 174 | text=True, |
| 175 | cwd=self.root_path, |
| 176 | timeout=600, |
| 177 | shell=False, |
| 178 | ) # nosec |
| 179 | |
| 180 | print("Integration Test Output:") |
| 181 | print(result.stdout) |
| 182 | |
| 183 | if result.stderr: |
| 184 | print("Integration Test Errors:") |
| 185 | print(result.stderr) |
| 186 | |
| 187 | return result.returncode == 0 |
| 188 | |
| 189 | except subprocess.TimeoutExpired: |
| 190 | print("[ERROR] Integration tests timed out") |
| 191 | return False |
| 192 | except Exception as e: |
| 193 | print(f"[ERROR] Integration tests failed: {e}") |
| 194 | return False |
| 195 | |
| 196 | def _run_workflow_tests(self) -> bool: |
| 197 | """Run workflow-specific tests.""" |
no test coverage detected