aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/flag/default_flag_options_test.v
diff options
context:
space:
mode:
authorIndrajith K L2022-12-03 17:00:20 +0530
committerIndrajith K L2022-12-03 17:00:20 +0530
commitf5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch)
tree2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/vlib/flag/default_flag_options_test.v
downloadcli-tools-windows-master.tar.gz
cli-tools-windows-master.tar.bz2
cli-tools-windows-master.zip
Adds most of the toolsHEADmaster
Diffstat (limited to 'v_windows/v/vlib/flag/default_flag_options_test.v')
-rw-r--r--v_windows/v/vlib/flag/default_flag_options_test.v35
1 files changed, 35 insertions, 0 deletions
diff --git a/v_windows/v/vlib/flag/default_flag_options_test.v b/v_windows/v/vlib/flag/default_flag_options_test.v
new file mode 100644
index 0000000..7cf37d4
--- /dev/null
+++ b/v_windows/v/vlib/flag/default_flag_options_test.v
@@ -0,0 +1,35 @@
+import os
+
+const source = 'vlib/flag/testdata/simplest_flag_program.v'
+
+const simple_flag_app_executable = os.real_path(os.join_path(os.cache_dir(), 'simple_flag_app.exe'))
+
+fn testsuite_begin() {
+ os.chdir(@VMODROOT) or {}
+ os.rm(simple_flag_app_executable) or {}
+ res := os.execute('${@VEXE} -o $simple_flag_app_executable $source')
+ assert res.exit_code == 0
+ assert os.execute(simple_flag_app_executable).exit_code == 0
+}
+
+fn testsuite_end() {
+ os.rm(simple_flag_app_executable) or {}
+ assert true
+}
+
+fn check_program(opts string, extension string) {
+ result := source.replace('.v', extension)
+ res := os.execute('$simple_flag_app_executable $opts')
+ lines := os.read_lines(result) or { panic(err) }
+ assert res.exit_code == 0
+ assert res.output.split_into_lines() == lines
+}
+
+fn test_default_builtin_flag_options() {
+ check_program('', '.out')
+ check_program(' -- --help', '.dashdash.help.out')
+ check_program(' -- --version', '.dashdash.version.out')
+ check_program(' -h', '.help.out')
+ check_program(' --help', '.help.out')
+ check_program(' --version', '.version.out')
+}