# How to Run Tests for DeepSeek‑Reasonix: Complete Testing Guide with Make Targets

> Learn how to run tests for DeepSeek-Reasonix with our complete guide. Discover make targets for full suite, desktop, and SDK component testing. Ensure code quality now.

- Repository: [YHH/DeepSeek-Reasonix](https://github.com/esengine/DeepSeek-Reasonix)
- Tags: how-to-guide
- Published: 2026-08-14

---

**Run tests for DeepSeek‑Reasonix using `make test` for the full suite or specialized targets like `make desktop-test` and `make sdk-test-race` for component-specific testing.**

DeepSeek‑Reasonix is a Go‑based open‑source project that organizes its test suites within the source tree and exposes convenient **Makefile shortcuts** for execution. Whether you're validating core logic, the desktop UI layer, or the Go SDK, the repository provides standardized entry points that wrap the standard `go test` toolchain. This guide covers each test target, its purpose, and when to use it.

## Prerequisites for Running DeepSeek‑Reasonix Tests

Before executing any test commands, ensure your environment meets these requirements:

- **Go 1.22+** installed and available in your `PATH`
- **Git** to clone the repository
- **Make** (standard on most Unix systems; use MinGW or WSL on Windows)

Verify your Go version:

```bash
go version

# Expected: go version go1.22.x or higher

```

## Running the Full Test Suite

The most common starting point is the **`test` target** in the root `Makefile`. This executes all unit and integration tests across every package in the repository.

```bash
make test

```

This command expands to:

```bash
go test ./...

```

According to the DeepSeek‑Reasonix source code, this target is defined at [Makefile lines 59‑61](https://github.com/esengine/DeepSeek-Reasonix/blob/main-v2/Makefile#L59-L61). It recursively discovers and runs all `*_test.go` files in the project, including [`internal/worktree/worktree_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/internal/worktree/worktree_test.go) and other core utilities.

Use this target when:
- Setting up CI/CD pipelines
- Validating a fresh clone before contributing
- Running pre‑commit checks

## Testing the Desktop UI Layer

The desktop application layer resides in the `desktop/` directory and contains platform‑specific components with their own test files, including [`desktop/workspace_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/desktop/workspace_test.go) and [`desktop/window_state_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/desktop/window_state_test.go). The Makefile provides three dedicated targets for this package:

### Run All Desktop Tests

```bash
make desktop-test

```

Executes:

```bash
cd desktop && go test .

```

Defined at [Makefile lines 62‑64](https://github.com/esengine/DeepSeek-Reasonix/blob/main-v2/Makefile#L62-L64).

### Run Short Desktop Tests (Skip Long‑Running Tests)

```bash
make desktop-test-short

```

Executes:

```bash
cd desktop && go test -short .

```

Defined at [Makefile lines 65‑66](https://github.com/esengine/DeepSeek-Reasonix/blob/main-v2/Makefile#L65-L66). Use this during rapid development cycles when you need fast feedback.

### Analyze Desktop Test Execution Times

```bash
make desktop-test-times

```

Executes:

```bash
cd desktop && go test -json . | go run ../scripts/test_times.go

```

Defined at [Makefile lines 68‑70](https://github.com/esengine/DeepSeek-Reasonix/blob/main-v2/Makefile#L68-L70). This outputs per‑test timing data to identify performance bottlenecks.

## Testing the Go SDK

The SDK implementation lives in `sdk/go/` with its own `go.mod` and test suite. Two targets support SDK validation:

### Standard SDK Tests

```bash
make sdk-test

```

Executes:

```bash
cd sdk/go && go test .

```

### SDK Tests with Race Detection

```bash
make sdk-test-race

```

Executes:

```bash
cd sdk/go && go test -race .

```

Defined at [Makefile lines 71‑75](https://github.com/esengine/DeepSeek-Reasonix/blob/main-v2/Makefile#L71-L75). The **`-race`** flag enables Go's data race detector, essential for concurrent code validation. Use this target when modifying goroutine‑heavy SDK code.

## Complete Test Command Reference

| Target | Command Expansion | Use Case |
|--------|-------------------|----------|
| `make test` | `go test ./...` | Full repository validation |
| `make desktop-test` | `cd desktop && go test .` | Desktop UI functionality |
| `make desktop-test-short` | `cd desktop && go test -short .` | Fast desktop feedback loop |
| `make desktop-test-times` | `cd desktop && go test -json . \| go run ../scripts/test_times.go` | Performance analysis |
| `make sdk-test` | `cd sdk/go && go test .` | SDK correctness |
| `make sdk-test-race` | `cd sdk/go && go test -race .` | SDK concurrency safety |

## Typical Development Workflow

Follow this sequence when working with DeepSeek‑Reasonix tests:

1. **Clone and enter the repository**
   ```bash
   git clone https://github.com/esengine/DeepSeek-Reasonix.git
   cd DeepSeek-Reasonix
   ```

2. **Run the full suite** to establish baseline health
   ```bash
   make test
   ```

3. **Iterate on desktop changes** with short tests
   ```bash
   make desktop-test-short
   ```

4. **Final validation** before submitting PRs
   ```bash
   make test
   make sdk-test-race
   ```

## Key Test Files in the Repository

Understanding where tests live helps with targeted debugging:

- [`desktop/workspace_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/desktop/workspace_test.go) — Desktop workspace management tests
- [`desktop/window_state_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/desktop/window_state_test.go) — Window state persistence and restoration tests
- [`internal/worktree/worktree_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/internal/worktree/worktree_test.go) — Core worktree utility tests
- `sdk/go/*.go` — SDK source files with accompanying `*_test.go` files

These files are exercised by the Makefile targets described above and serve as reference implementations for writing new tests.

## Summary

- **DeepSeek‑Reasonix** provides **Makefile targets** that wrap standard Go test commands for convenience and consistency.
- **`make test`** runs the entire test suite across all packages using `go test ./...`.
- **Desktop-specific targets** (`desktop-test`, `desktop-test-short`, `desktop-test-times`) isolate the UI layer in the `desktop/` directory.
- **SDK targets** (`sdk-test`, `sdk-test-race`) focus on the `sdk/go` package with optional race detection.
- All targets require **Go 1.22+** and execute the standard Go toolchain underneath.

## Frequently Asked Questions

### What is the fastest way to run tests during active development?

Use **`make desktop-test-short`** when modifying desktop code, or **`go test -short ./...`** directly for repository‑wide fast feedback. The `-short` flag skips long‑running integration tests, focusing on unit‑level validation.

### How do I detect data races in DeepSeek‑Reasonix code?

Run **`make sdk-test-race`** for SDK changes, or execute **`go test -race ./...`** manually. The race detector adds overhead but is essential for concurrent code paths in the SDK and desktop layers.

### Can I run tests without Make installed?

Yes. Navigate to the relevant directory and use standard Go commands:

```bash
go test ./...                    # Full suite

cd desktop && go test .          # Desktop only

cd sdk/go && go test -race .     # SDK with race detection

```

The Makefile simply provides convenient shortcuts and directory changes.

### Where are test files located in the repository?

Test files follow Go conventions as `*_test.go` alongside source files. Key locations include [`desktop/workspace_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/desktop/workspace_test.go), [`desktop/window_state_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/desktop/window_state_test.go), [`internal/worktree/worktree_test.go`](https://github.com/esengine/DeepSeek-Reasonix/blob/main/internal/worktree/worktree_test.go), and corresponding files in `sdk/go/`.