summaryrefslogtreecommitdiff
path: root/src/validate.ml
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2024-10-23 18:50:46 -0500
committerJohn Estabrook <jestabro@vyos.io>2024-10-27 21:49:06 -0500
commitb8dbd4d03ebb058aaf1e8ddd9261b0628e520e8b (patch)
tree14b44c0990030a94f3f685b6aa929f0e20371b42 /src/validate.ml
parenta5473033fc8ea92891d6ebab9bdeaccbe742d565 (diff)
downloadvyconf-b8dbd4d03ebb058aaf1e8ddd9261b0628e520e8b.tar.gz
vyconf-b8dbd4d03ebb058aaf1e8ddd9261b0628e520e8b.zip
T6718: add client_session module and test executable validate.ml
Diffstat (limited to 'src/validate.ml')
-rw-r--r--src/validate.ml32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/validate.ml b/src/validate.ml
new file mode 100644
index 0000000..7b3b596
--- /dev/null
+++ b/src/validate.ml
@@ -0,0 +1,32 @@
+open Client.Vyconf_client_session
+
+let path_opt = ref ""
+
+let usage = "Usage: " ^ Sys.argv.(0) ^ " [options]"
+
+let args = [
+ ("--path", Arg.String (fun s -> path_opt := s), "<string> Configuration path");
+ ]
+
+let get_sockname =
+ "/var/run/vyconfd.sock"
+
+let main socket path_list =
+ let token = session_init socket in
+ match token with
+ | Error e -> "Failed to initialize session: " ^ e
+ | Ok token ->
+ let out = session_validate_path socket token path_list
+ in
+ let _ = session_free socket token in
+ match out with
+ | Error e -> "Failed to validate path: " ^ e
+ | Ok _ -> "No error"
+
+let _ =
+ let () = Arg.parse args (fun _ -> ()) usage in
+ let path_list = Vyos1x.Util.list_of_path !path_opt in
+ let socket = get_sockname in
+ let result = main socket path_list in
+ let () = print_endline result in
+ exit 0