Enhance MTProxy checker by introducing a new -probe mode deep-strict for stricter response validation. Update README and Docker documentation to clarify probing modes, exit codes, and the new MTPROXY_TDLIB_HELPER and MTPROXY_TDLIB_TIMEOUT environment variables for external helper integration. Refactor connection handling and error reporting to improve robustness and clarity in response verification.
Publish mtproxy_checker Docker image / test (push) Successful in 7s
Publish mtproxy_checker Docker image / build-and-push (push) Successful in 53s

This commit is contained in:
Denozordec
2026-04-11 16:12:45 +07:00
parent 24a7315a16
commit 388784eb5e
17 changed files with 902 additions and 24 deletions
+17
View File
@@ -0,0 +1,17 @@
package tdlibexec
import "testing"
func TestParseStdout(t *testing.T) {
r, err := parseStdout([]byte("noise\n{\"ok\":true,\"error\":\"\",\"exit_code\":0}\n"), nil, 42)
if err != nil || !r.OK || r.ExitCode != 0 || r.DurationMs != 42 {
t.Fatalf("got %+v err=%v", r, err)
}
r2, err := parseStdout([]byte(`{"ok":false,"error":"bad","exit_code":2}`), nil, 1)
if err != nil || r2.OK || r2.ExitCode != 2 || r2.Error != "bad" {
t.Fatalf("got %+v err=%v", r2, err)
}
if _, err := parseStdout([]byte("no json"), nil, 0); err == nil {
t.Fatal("expected error")
}
}