tests: add some runtime error in nitin.input
[nit.git] / src / toolcontext.nit
index 1ad54d9..0797723 100644 (file)
@@ -143,7 +143,7 @@ end
 # Global context for tools
 class ToolContext
        # Number of errors
-       var error_count: Int = 0
+       var error_count: Int = 0 is writable
 
        # Number of warnings
        var warning_count: Int = 0
@@ -242,6 +242,7 @@ class ToolContext
                var m = new Message(l, null, s, 2)
                if messages.has(m) then return m
                if l != null then l.add_message m
+               if opt_warn.value <= -1 then return m
                messages.add m
                error_count = error_count + 1
                if opt_stop_on_first_error.value then check_errors
@@ -276,7 +277,7 @@ class ToolContext
                if messages.has(m) then return null
                if l != null then l.add_message m
                if opt_warning.value.has("no-{tag}") then return null
-               if not opt_warning.value.has(tag) and opt_warn.value == 0 then return null
+               if not opt_warning.value.has(tag) and opt_warn.value <= 0 then return null
                messages.add m
                warning_count = warning_count + 1
                if opt_stop_on_first_error.value then check_errors
@@ -339,7 +340,7 @@ class ToolContext
                proc_which.wait
                var res = proc_which.status
                if res != 0 then
-                       print "{error}: executable \"{prog}\" not found"
+                       print_error "{error}: executable \"{prog}\" not found"
                        exit 1
                end
 
@@ -348,7 +349,7 @@ class ToolContext
                proc.wait
                res = proc.status
                if res != 0 then
-                       print "{error}: execution of \"{prog} {args.join(" ")}\" failed"
+                       print_error "{error}: execution of \"{prog} {args.join(" ")}\" failed"
                        exit 1
                end
        end
@@ -565,7 +566,7 @@ The Nit language documentation and the source code of its tools and libraries ma
        #
        # It uses, in order:
        #
-       # * the option `opt_no_color`
+       # * the option `opt_nit_dir`
        # * the environment variable `NIT_DIR`
        # * the runpath of the program from argv[0]
        # * the runpath of the process from /proc
@@ -609,7 +610,8 @@ The Nit language documentation and the source code of its tools and libraries ma
                end
 
                # search in the PATH
-               var ps = "PATH".environ.split(":")
+               var path_sep = if is_windows then ";" else ":"
+               var ps = "PATH".environ.split(path_sep)
                for p in ps do
                        res = p/".."
                        if check_nit_dir(res) then return res.simplify_path