Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ocaml-ocamlbuild for
openSUSE:Factory checked in at 2022-05-05 23:07:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-ocamlbuild (Old)
and /work/SRC/openSUSE:Factory/.ocaml-ocamlbuild.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-ocamlbuild"
Thu May 5 23:07:20 2022 rev:7 rq:975186 version:0.14.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml-ocamlbuild/ocaml-ocamlbuild.changes
2021-04-29 01:39:54.430706497 +0200
+++
/work/SRC/openSUSE:Factory/.ocaml-ocamlbuild.new.1538/ocaml-ocamlbuild.changes
2022-05-05 23:08:00.797678628 +0200
@@ -1,0 +2,8 @@
+Tue Apr 26 14:48:44 UTC 2022 - Ferdinand Thiessen <[email protected]>
+
+- Update to version 0.14.1
+ * Add OCaml 5.00 support
+ * Fix race conditions when invoking ocamlbuild in parallel from
+ a makefile
+
+-------------------------------------------------------------------
Old:
----
ocaml-ocamlbuild-0.14.0.tar.xz
New:
----
ocaml-ocamlbuild-0.14.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ocaml-ocamlbuild.spec ++++++
--- /var/tmp/diff_new_pack.1Wt4f2/_old 2022-05-05 23:08:01.197679127 +0200
+++ /var/tmp/diff_new_pack.1Wt4f2/_new 2022-05-05 23:08:01.201679132 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ocaml-ocamlbuild
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,22 +12,22 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: ocaml-ocamlbuild
-Version: 0.14.0
+Version: 0.14.1
Release: 0
%{?ocaml_preserve_bytecode}
Summary: Generic build tool for building OCaml library and programs
-License: LGPL-2.0
+License: LGPL-2.0-only WITH OCaml-LGPL-linking-exception
Group: Development/Languages/OCaml
-Url: https://github.com/ocaml/ocamlbuild
-Source: %{name}-%{version}.tar.xz
+URL: https://opam.ocaml.org/packages/ocamlbuild
+Source: %name-%version.tar.xz
BuildRequires: ocaml
-BuildRequires: ocaml-rpm-macros >= 20210409
-Requires: %{name}-devel = %{version}
+BuildRequires: ocaml-rpm-macros >= 20220409
+Requires: %name-devel = %version
%description
OCamlbuild is a generic build tool, that has built-in rules for
@@ -38,42 +38,42 @@
4.03, it is now released separately.
%package devel
-Summary: Development files for %{name}
+Summary: Development files for %name
Group: Development/Languages/OCaml
-Requires: %{name} = %{version}
+Requires: %name = %version
%description devel
-The %{name}-devel package contains libraries and signature files for
-developing applications that use %{name}.
+The %name-devel package contains libraries and signature files for
+developing applications that use %name.
%prep
%autosetup -p1
%build
-tee %{name}.sh <<'_EOF_'
+tee %name.sh <<'_EOF_'
set -x
exec \
make \
-PREFIX=%{_prefix} \
+PREFIX=%_prefix \
OCAML_NATIVE_TOOLS=true \
OCAML_NATIVE=true \
"$@"
_EOF_
-sh %{name}.sh -f configure.make
-sh %{name}.sh configure
-sh %{name}.sh %{?_smp_mflags}
+sh %name.sh -f configure.make
+sh %name.sh configure
+sh %name.sh %{?_smp_mflags}
%install
-sh %{name}.sh \
+sh %name.sh \
install \
-DESTDIR=%{buildroot} %{?_smp_mflags}
+DESTDIR=%buildroot %{?_smp_mflags}
%ocaml_create_file_list
-%files -f %{name}.files
+%files -f %name.files
%doc Changes
-%{_bindir}/*
-%{_mandir}/man*/*
+%_bindir/*
+%_mandir/man*/*
-%files devel -f %{name}.files.devel
+%files devel -f %name.files.devel
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.1Wt4f2/_old 2022-05-05 23:08:01.225679162 +0200
+++ /var/tmp/diff_new_pack.1Wt4f2/_new 2022-05-05 23:08:01.229679167 +0200
@@ -1,10 +1,13 @@
<services>
<service name="tar_scm" mode="disabled">
- <param name="url">https://github.com/ocaml/ocamlbuild.git</param>
- <param name="scm">git</param>
- <param name="versionformat">0.14.0</param>
- <param name="revision">0.14.0</param>
<param name="filename">ocaml-ocamlbuild</param>
+ <param name="revision">f4255cd31cb28557980b4a37ccfb6fd13d633abb</param>
+ <param name="scm">git</param>
+ <param name="submodules">disable</param>
+ <param name="url">https://github.com/ocaml/ocamlbuild.git</param>
+ <param name="versionformat">@PARENT_TAG@</param>
+ <param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param>
+ <param name="versionrewrite-replacement">\1</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
++++++ ocaml-ocamlbuild-0.14.0.tar.xz -> ocaml-ocamlbuild-0.14.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/.gitignore
new/ocaml-ocamlbuild-0.14.1/.gitignore
--- old/ocaml-ocamlbuild-0.14.0/.gitignore 1970-01-01 01:00:00.000000000
+0100
+++ new/ocaml-ocamlbuild-0.14.1/.gitignore 2022-02-09 12:15:06.000000000
+0100
@@ -0,0 +1,36 @@
+# general patterns
+
+*.o
+*.a
+*.so
+*.obj
+*.lib
+*.dll
+*.cm[ioxat]
+*.cmx[as]
+*.cmti
+*.annot
+*.exe
+*.exe.manifest
+.depend
+.depend.nt
+.DS_Store
+*.out
+*.out.dSYM
+/tmp/
+
+ocamlbuild.install
+Makefile.config
+
+/bootstrap/src
+/bootstrap/_build*
+
+/src/ocamlbuild_config.ml
+/src/lexers.ml
+/src/glob_lexer.ml
+/ocamlbuild.byte
+/ocamlbuild.native
+
+/man/ocamlbuild.1
+/man/ocamlbuild.options.1
+/man/options_man.byte
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/CONTRIBUTING.adoc
new/ocaml-ocamlbuild-0.14.1/CONTRIBUTING.adoc
--- old/ocaml-ocamlbuild-0.14.0/CONTRIBUTING.adoc 2019-02-23
15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/CONTRIBUTING.adoc 2022-02-09
12:15:06.000000000 +0100
@@ -16,7 +16,7 @@
This repository also hosts
https://github.com/ocaml/ocamlbuild/tree/master/manual/manual.adoc[the
OCamlbuild manual].
Feel free to ask questions about unclear part of the manual, or to contribute
extra explanations.
-The documentation contains a set of
https://github.com/ocaml/ocamlbuild/tree/master/manual/examples[examples] that
anyone can help grow.
+The documentation contains a set of
https://github.com/ocaml/ocamlbuild/tree/master/examples[examples] that anyone
can help grow.
If there is a typical kind of setting that you've reused across several
projects, is clear and informative, and is not represented in existing
examples, feel free to submit it.
You can also help complete the documentation by integrating
http://ocaml.org/learn/tutorials/ocamlbuild/[ocaml.org Wiki] content in the
OCamlbuild manual.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/Changes
new/ocaml-ocamlbuild-0.14.1/Changes
--- old/ocaml-ocamlbuild-0.14.0/Changes 2019-02-23 15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/Changes 2022-02-09 12:15:06.000000000 +0100
@@ -11,6 +11,16 @@
Changes breaking compatibility are marked with a "* " bullet instead
of the usual "- ".
+0.14.1 (09 Feb 2021):
+---------------------
+
+- Add OCaml 5.00 support
+ (#315 by Kate Deplaix, reviewed by Gabriel Scherer)
+- Fix race conditions when invoking ocamlbuild in parallel from a makefile
+ (#302 by Gabriel Scherer)
+- Removes .so from products of all cmxs rules
+ (#305 by Ivan Gotovchits, reviewed by Gabriel Scherer)
+
0.14.0 (23 Feb 2019):
---------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/META
new/ocaml-ocamlbuild-0.14.1/META
--- old/ocaml-ocamlbuild-0.14.0/META 2019-02-23 15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/META 2022-02-09 12:15:06.000000000 +0100
@@ -1,6 +1,6 @@
# Specification for the "ocamlbuild" library
requires = "unix"
-version = "0.14.0"
+version = "0.14.1"
description = "ocamlbuild support library"
archive(byte) = "ocamlbuildlib.cma"
archive(native) = "ocamlbuildlib.cmxa"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/Makefile
new/ocaml-ocamlbuild-0.14.1/Makefile
--- old/ocaml-ocamlbuild-0.14.0/Makefile 2019-02-23 15:46:00.000000000
+0100
+++ new/ocaml-ocamlbuild-0.14.1/Makefile 2022-02-09 12:15:06.000000000
+0100
@@ -30,7 +30,7 @@
endif
CP ?= cp
-COMPFLAGS ?= -w L -w R -w Z -I src -I +unix -safe-string -bin-annot
-strict-sequence
+COMPFLAGS ?= -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot
-strict-sequence
LINKFLAGS ?= -I +unix -I src
PACK_CMO= $(addprefix src/,\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/Readme.md
new/ocaml-ocamlbuild-0.14.1/Readme.md
--- old/ocaml-ocamlbuild-0.14.0/Readme.md 2019-02-23 15:46:00.000000000
+0100
+++ new/ocaml-ocamlbuild-0.14.1/Readme.md 2022-02-09 12:15:06.000000000
+0100
@@ -3,9 +3,12 @@
OCamlbuild is a generic build tool, that has built-in rules for
building OCaml library and programs.
-OCamlbuild was distributed as part of the OCaml distribution for OCaml
-versions between 3.10.0 and 4.02.3. Starting from OCaml 4.03, it is
-now released separately.
+In recent years, the OCaml community has converged towards a more
+recent and faster build tool:
+[Dune](https://github.com/ocaml/dune). If you are choosing a build
+system, you should probably use Dune instead. (Between January and
+June 2019, 77 new OCaml packages using ocamlbuild were publicly
+released, versus 544 packages using dune.)
Your should refer to the [OCambuild
manual](https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/VERSION
new/ocaml-ocamlbuild-0.14.1/VERSION
--- old/ocaml-ocamlbuild-0.14.0/VERSION 2019-02-23 15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/VERSION 2022-02-09 12:15:06.000000000 +0100
@@ -1 +1 @@
-0.14.0
\ No newline at end of file
+0.14.1
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/examples/.gitignore
new/ocaml-ocamlbuild-0.14.1/examples/.gitignore
--- old/ocaml-ocamlbuild-0.14.0/examples/.gitignore 1970-01-01
01:00:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/examples/.gitignore 2022-02-09
12:15:06.000000000 +0100
@@ -0,0 +1,3 @@
+*.byte
+_build/
+*.native
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/manual/manual.adoc
new/ocaml-ocamlbuild-0.14.1/manual/manual.adoc
--- old/ocaml-ocamlbuild-0.14.0/manual/manual.adoc 2019-02-23
15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/manual/manual.adoc 2022-02-09
12:15:06.000000000 +0100
@@ -1359,7 +1359,7 @@
One cannot define a rule if there already exists a built-in rule of the same
name.
Directly including the rule `"ocaml dependencies ml"` used above in your
plugin would result in a failure when loading the plugin:
-[source]
+[source,ocaml]
----
Rule.Exit_rule_error("Rule.add_rule: already exists: (ocaml dependencies
ml)").
----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/ocamlbuild.opam
new/ocaml-ocamlbuild-0.14.1/ocamlbuild.opam
--- old/ocaml-ocamlbuild-0.14.0/ocamlbuild.opam 2019-02-23 15:46:00.000000000
+0100
+++ new/ocaml-ocamlbuild-0.14.1/ocamlbuild.opam 2022-02-09 12:15:06.000000000
+0100
@@ -3,11 +3,11 @@
authors: ["Nicolas Pouillard" "Berke Durak"]
homepage: "https://github.com/ocaml/ocamlbuild/"
bug-reports: "https://github.com/ocaml/ocamlbuild/issues"
-license: "LGPL-2 with OCaml linking exception"
+license: "LGPL-2.0-or-later WITH OCaml-LGPL-linking-exception"
doc: "https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc"
dev-repo: "git+https://github.com/ocaml/ocamlbuild.git"
synopsis:
- "OCamlbuild is a build system with builtin rules to easily build most OCaml
projects."
+ "OCamlbuild is a build system with builtin rules to easily build most OCaml
projects"
build: [
[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/src/main.ml
new/ocaml-ocamlbuild-0.14.1/src/main.ml
--- old/ocaml-ocamlbuild-0.14.0/src/main.ml 2019-02-23 15:46:00.000000000
+0100
+++ new/ocaml-ocamlbuild-0.14.1/src/main.ml 2022-02-09 12:15:06.000000000
+0100
@@ -11,6 +11,10 @@
(* *)
(***********************************************************************)
+(* Compatibility with both OCaml < 4.08 and >= 5.00 *)
+module Pervasives = struct
+ let exit = exit
+end
(* Original author: Berke Durak *)
open My_std
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/src/my_std.ml
new/ocaml-ocamlbuild-0.14.1/src/my_std.ml
--- old/ocaml-ocamlbuild-0.14.0/src/my_std.ml 2019-02-23 15:46:00.000000000
+0100
+++ new/ocaml-ocamlbuild-0.14.1/src/my_std.ml 2022-02-09 12:15:06.000000000
+0100
@@ -11,6 +11,10 @@
(* *)
(***********************************************************************)
+(* Compatibility with both OCaml < 4.08 and >= 5.00 *)
+module Pervasives = struct
+ let compare = compare
+end
(* Original author: Nicolas Pouillard *)
open Format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/src/ocaml_specific.ml
new/ocaml-ocamlbuild-0.14.1/src/ocaml_specific.ml
--- old/ocaml-ocamlbuild-0.14.0/src/ocaml_specific.ml 2019-02-23
15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/src/ocaml_specific.ml 2022-02-09
12:15:06.000000000 +0100
@@ -365,13 +365,13 @@
see the rules producing a .cmxs from a .mllib or a .mldylib."
(Ocaml_compiler.native_library_link_mllib "%.mllib" "%.cmxa");;
-rule "ocaml: mldylib & p.cmx* & p.o* -> p.cmxs & p.so"
- ~prods:["%.p.cmxs"; x_p_dll]
+rule "ocaml: mldylib & p.cmx* & p.o* -> p.cmxs"
+ ~prods:["%.p.cmxs"]
~dep:"%.mldylib"
(Ocaml_compiler.native_profile_shared_library_link_mldylib "%.mldylib"
"%.p.cmxs");;
-rule "ocaml: mldylib & cmx* & o* -> cmxs & so"
- ~prods:["%.cmxs"; x_dll]
+rule "ocaml: mldylib & cmx* & o* -> cmxs"
+ ~prods:["%.cmxs"]
~dep:"%.mldylib"
~doc:"Builds a .cmxs (native archive for dynamic linking) containing exactly
\
the modules listed in the corresponding .mldylib file."
@@ -391,13 +391,13 @@
transitivitely."
(Ocaml_compiler.native_library_link "%.cmx" "%.cmxa");;
-rule "ocaml: p.cmxa & p.a -> p.cmxs & p.so"
- ~prods:["%.p.cmxs"; x_p_dll]
+rule "ocaml: p.cmxa & p.a -> p.cmxs"
+ ~prods:["%.p.cmxs"]
~deps:["%.p.cmxa"]
(Ocaml_compiler.native_shared_library_link ~tags:["profile";"linkall"]
"%.p.cmxa" "%.p.cmxs");;
-rule "ocaml: cmxa -> cmxs & so"
- ~prods:["%.cmxs"; x_dll]
+rule "ocaml: cmxa -> cmxs"
+ ~prods:["%.cmxs"]
~deps:["%.cmxa"]
~doc:"This rule allows to build a .cmxs from a .cmxa, to avoid having \
to duplicate a .mllib file into a .mldylib."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/src/ocamlbuild_executor.ml
new/ocaml-ocamlbuild-0.14.1/src/ocamlbuild_executor.ml
--- old/ocaml-ocamlbuild-0.14.0/src/ocamlbuild_executor.ml 2019-02-23
15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/src/ocamlbuild_executor.ml 2022-02-09
12:15:06.000000000 +0100
@@ -11,6 +11,10 @@
(* *)
(***********************************************************************)
+(* Compatibility with both OCaml < 4.08 and >= 5.00 *)
+module Pervasives = struct
+ let stdout = stdout
+end
(* Original author: Berke Durak *)
(* Ocamlbuild_executor *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/src/shell.ml
new/ocaml-ocamlbuild-0.14.1/src/shell.ml
--- old/ocaml-ocamlbuild-0.14.0/src/shell.ml 2019-02-23 15:46:00.000000000
+0100
+++ new/ocaml-ocamlbuild-0.14.1/src/shell.ml 2022-02-09 12:15:06.000000000
+0100
@@ -53,15 +53,45 @@
failwith (Printf.sprintf "Error during command %S: %s" cmd
(Printexc.to_string x))
let rm = sys_remove
let rm_f x =
- if sys_file_exists x then rm x
+ if sys_file_exists x then ()
+ else
+ (* We checked that the file does not exist, but we still ignore
+ failures due to the possibility of race conditions --
+ another thread having removed the file at the same time.
+
+ See issue #300 and PR #302 for a race-condition in the wild,
+ and a reproduction script.
+
+ We could reproduce such races due to the Shell.rm_f call on the log file
+ at the start of ocamlbuild's invocation. *)
+ try sys_remove x with _ -> ()
+
let mkdir dir =
reset_filesys_cache_for_file dir;
(*Sys.mkdir dir (* MISSING in ocaml *) *)
run ["mkdir"; dir] dir
-let try_mkdir dir = if not (sys_file_exists dir) then mkdir dir
+
+let try_mkdir dir =
+ if not (sys_file_exists dir)
+ then
+ (* We checked that the file does not exist, but we still
+ ignore failures due to the possibility of race conditions --
+ same as rm_f above.
+
+ Note: contrarily to the rm_f implementation which uses sys_remove
directly,
+ the 'mkdir' implementation uses 'run', which will create noise in the
log
+ and on display, especially in case of (ignored) failure: an error
message
+ will be shown, but the call will still be considered a success.
+ Error messages only occur in racy scenarios that we don't support,
+ so this is probably okay. *)
+ try mkdir dir with _ -> ()
+
let rec mkdir_p dir =
if sys_file_exists dir then ()
- else (mkdir_p (Filename.dirname dir); mkdir dir)
+ else begin
+ mkdir_p (Filename.dirname dir);
+ try_mkdir dir
+ end
let cp_pf src dest =
reset_filesys_cache_for_file dest;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/testsuite/.gitignore
new/ocaml-ocamlbuild-0.14.1/testsuite/.gitignore
--- old/ocaml-ocamlbuild-0.14.0/testsuite/.gitignore 1970-01-01
01:00:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/testsuite/.gitignore 2022-02-09
12:15:06.000000000 +0100
@@ -0,0 +1,3 @@
+_test_internal
+_test_findlibonly
+_test_external
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ocaml-ocamlbuild-0.14.0/testsuite/internal.ml
new/ocaml-ocamlbuild-0.14.1/testsuite/internal.ml
--- old/ocaml-ocamlbuild-0.14.0/testsuite/internal.ml 2019-02-23
15:46:00.000000000 +0100
+++ new/ocaml-ocamlbuild-0.14.1/testsuite/internal.ml 2022-02-09
12:15:06.000000000 +0100
@@ -210,8 +210,16 @@
Error: This expression has type int but an expression was expected of type
unit
Command exited with code 2."
+else if Sys.ocaml_version < "4.08.0" then
+"File \"hello.ml\", line 1, characters 9-10:
+Error: This expression has type int but an expression was expected of type
+ unit
+ because it is in the left-hand side of a sequence
+Command exited with code 2."
else
"File \"hello.ml\", line 1, characters 9-10:
+1 | let () = 1; ()
+ ^
Error: This expression has type int but an expression was expected of type
unit
because it is in the left-hand side of a sequence
@@ -224,10 +232,19 @@
~description:"strict_format tag"
~tree:[T.f "hello.ml" ~content:"let _ = Printf.printf \"%.10s\"";
T.f "_tags" ~content:"true: strict_formats\n"]
- ~failing_msg:"File \"hello.ml\", line 1, characters 22-29:
+ ~failing_msg:(if Sys.ocaml_version < "4.08.0" then
+"File \"hello.ml\", line 1, characters 22-29:
Error: invalid format \"%.10s\": at character number 0, \
`precision' is incompatible with 's' in sub-format \"%.10s\"
Command exited with code 2."
+else
+"File \"hello.ml\", line 1, characters 22-29:
+1 | let _ = Printf.printf \"%.10s\"
+ ^^^^^^^
+Error: invalid format \"%.10s\": at character number 0, \
+`precision' is incompatible with 's' in sub-format \"%.10s\"
+Command exited with code 2."
+)
~targets:("hello.byte",[]) ();;
let () = test "PrincipalFlag"
@@ -237,8 +254,20 @@
~content:"type s={foo:int;bar:unit} type t={foo:int}
let f x = (x.bar; x.foo)";
T.f "_tags" ~content:"true: principal\n"]
- ~failing_msg:"File \"hello.ml\", line 2, characters 42-45:
+ ~failing_msg:(if Sys.ocaml_version < "4.08.0" then
+"File \"hello.ml\", line 2, characters 42-45:
Warning 18: this type-based field disambiguation is not principal."
+else if Sys.ocaml_version < "4.12.0" then
+"File \"hello.ml\", line 2, characters 42-45:
+2 | let f x = (x.bar; x.foo)
+ ^^^
+Warning 18: this type-based field disambiguation is not principal."
+else
+"File \"hello.ml\", line 2, characters 42-45:
+2 | let f x = (x.bar; x.foo)
+ ^^^
+Warning 18 [not-principal]: this type-based field disambiguation is not
principal."
+)
~targets:("hello.byte",[]) ();;
let () = test "ModularPlugin1"