Haddock test suite failure -- can anyone guide me?

Dear Haddock experts
I'm getting a failure on !12492
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12492 that I can't
understand or debug. Can someone guide me?
Failure is this:
/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test
spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run
haddockHypsrcTest [bad exit code (2)] (normal)
A snip of the log is at the end of this message.
I want to
- understand what it does
- repro it locally.
Trying the latter, I tried with my HEAD build and did
bash$ cd testsuite/tests/haddock/haddock_testsuite
bash$ make hypsrcTest
but that failed on almost all the tests it does, even though HEAD is
presumably OK.
I'm stumped. Any ideas? The patch only changes the type checker!
Thanks
SImion
This is the log from !12492
Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 )
Stdout ( haddockHypsrcTest ):
[1 of 7] Compiling Test.Haddock.Process (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs,
Test/Haddock/Process.o )
[2 of 7] Compiling Test.Haddock.Utils (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs,
Test/Haddock/Utils.o )
[3 of 7] Compiling Test.Haddock.Config (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs,
Test/Haddock/Config.o )
[4 of 7] Compiling Test.Haddock (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs,
Test/Haddock.o )
[5 of 7] Compiling Test.Haddock.Xhtml (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs,
Test/Haddock/Xhtml.o )
[6 of 7] Compiling Main (
/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o )
[7 of 7] Linking hypsrc-test
Haddock version 2.30.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
9.11.20240530
Generating documentation...
Testing output files...
Checking "src/TemplateHaskellSplices.html"... PASS
Checking "src/Bug1091.html"... PASS
Checking "src/Polymorphism.html"... PASS
Checking "src/UsingQuasiquotes.html"... PASS
Checking "src/Records.html"... PASS
Checking "src/Quasiquoter.html"... PASS
Checking "src/CPP.html"... PASS
Checking "src/Operators.html"... PASS
Checking "src/Literals.html"... PASS
Checking "src/LinkingIdentifiers.html"... PASS
Checking "src/Classes.html"... FAIL
Checking "src/PositionPragmas.html"... PASS
Checking "src/Types.html"... PASS
Checking "src/TemplateHaskellQuasiquotes.html"... PASS
Checking "src/Constructors.html"... FAIL
Checking "src/Identifiers.html"... FAIL
Diffing failed cases...
Diff for file "src/Classes.html":
1194c1194,1198
< >

You run this locally exactly the same as any other test, using hadrian/build test --only=haddockHypsrcTest or TEST="haddockHypsrcTest" hadrian/build test I recommend accepting the changes by passing the `-a` option to hadrian, and then looking over the changes locally using `git diff`. The diffs reported by the test case itself can be confusing and I think (not sure) that they are in reversed order to what you would normally expect. On 24/05/31 08:48, Simon Peyton Jones wrote:
Dear Haddock experts
I'm getting a failure on !12492 https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12492 that I can't understand or debug. Can someone guide me?
Failure is this: /builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run haddockHypsrcTest [bad exit code (2)] (normal)
A snip of the log is at the end of this message.
I want to
- understand what it does - repro it locally.
Trying the latter, I tried with my HEAD build and did bash$ cd testsuite/tests/haddock/haddock_testsuite bash$ make hypsrcTest
but that failed on almost all the tests it does, even though HEAD is presumably OK.
I'm stumped. Any ideas? The patch only changes the type checker!
Thanks
SImion
This is the log from !12492
Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) Stdout ( haddockHypsrcTest ): [1 of 7] Compiling Test.Haddock.Process ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, Test/Haddock/Process.o ) [2 of 7] Compiling Test.Haddock.Utils ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, Test/Haddock/Utils.o ) [3 of 7] Compiling Test.Haddock.Config ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, Test/Haddock/Config.o ) [4 of 7] Compiling Test.Haddock ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, Test/Haddock.o ) [5 of 7] Compiling Test.Haddock.Xhtml ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, Test/Haddock/Xhtml.o ) [6 of 7] Compiling Main ( /builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) [7 of 7] Linking hypsrc-test Haddock version 2.30.0, (c) Simon Marlow 2006 Ported to use the GHC API by David Waern 2006-2008 9.11.20240530 Generating documentation... Testing output files... Checking "src/TemplateHaskellSplices.html"... PASS Checking "src/Bug1091.html"... PASS Checking "src/Polymorphism.html"... PASS Checking "src/UsingQuasiquotes.html"... PASS Checking "src/Records.html"... PASS Checking "src/Quasiquoter.html"... PASS Checking "src/CPP.html"... PASS Checking "src/Operators.html"... PASS Checking "src/Literals.html"... PASS Checking "src/LinkingIdentifiers.html"... PASS Checking "src/Classes.html"... FAIL Checking "src/PositionPragmas.html"... PASS Checking "src/Types.html"... PASS Checking "src/TemplateHaskellQuasiquotes.html"... PASS Checking "src/Constructors.html"... FAIL Checking "src/Identifiers.html"... FAIL Diffing failed cases... Diff for file "src/Classes.html": 1194c1194,1198 < >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

THanks. But the trouble is that I don't know whether to accept the change
or not. Is it OK? How could I tell?
The point of a test is to fail when one has introduced a bug. This fails
-- have I introduced a bug?
Thanks
S
On Fri, 31 May 2024 at 08:58, Zubin Duggal
You run this locally exactly the same as any other test, using
hadrian/build test --only=haddockHypsrcTest
or
TEST="haddockHypsrcTest" hadrian/build test
I recommend accepting the changes by passing the `-a` option to hadrian, and then looking over the changes locally using `git diff`.
The diffs reported by the test case itself can be confusing and I think (not sure) that they are in reversed order to what you would normally expect.
On 24/05/31 08:48, Simon Peyton Jones wrote:
Dear Haddock experts
I'm getting a failure on !12492 https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12492 that I can't understand or debug. Can someone guide me?
Failure is this: /builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run haddockHypsrcTest [bad exit code (2)] (normal)
A snip of the log is at the end of this message.
I want to
- understand what it does - repro it locally.
Trying the latter, I tried with my HEAD build and did bash$ cd testsuite/tests/haddock/haddock_testsuite bash$ make hypsrcTest
but that failed on almost all the tests it does, even though HEAD is presumably OK.
I'm stumped. Any ideas? The patch only changes the type checker!
Thanks
SImion
This is the log from !12492
Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) Stdout ( haddockHypsrcTest ): [1 of 7] Compiling Test.Haddock.Process (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, Test/Haddock/Process.o ) [2 of 7] Compiling Test.Haddock.Utils (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, Test/Haddock/Utils.o ) [3 of 7] Compiling Test.Haddock.Config (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, Test/Haddock/Config.o ) [4 of 7] Compiling Test.Haddock (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, Test/Haddock.o ) [5 of 7] Compiling Test.Haddock.Xhtml (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, Test/Haddock/Xhtml.o ) [6 of 7] Compiling Main ( /builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) [7 of 7] Linking hypsrc-test Haddock version 2.30.0, (c) Simon Marlow 2006 Ported to use the GHC API by David Waern 2006-2008 9.11.20240530 Generating documentation... Testing output files... Checking "src/TemplateHaskellSplices.html"... PASS Checking "src/Bug1091.html"... PASS Checking "src/Polymorphism.html"... PASS Checking "src/UsingQuasiquotes.html"... PASS Checking "src/Records.html"... PASS Checking "src/Quasiquoter.html"... PASS Checking "src/CPP.html"... PASS Checking "src/Operators.html"... PASS Checking "src/Literals.html"... PASS Checking "src/LinkingIdentifiers.html"... PASS Checking "src/Classes.html"... FAIL Checking "src/PositionPragmas.html"... PASS Checking "src/Types.html"... PASS Checking "src/TemplateHaskellQuasiquotes.html"... PASS Checking "src/Constructors.html"... FAIL Checking "src/Identifiers.html"... FAIL Diffing failed cases... Diff for file "src/Classes.html": 1194c1194,1198 < >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

If my reading of the diffs is correct (which I'm not sure it is), then
it seems some identifiers in the hyperlinked source are missing type
information.
Looking at one of the changes
Diff for file "src/Classes.html":
1194c1194,1198
< >
>
a -> b -> a
forall a b. a -> b -> a
1281c1285,1289
< >
>
a -> b -> a
forall a b. a -> b -> a
It seems like at certain identifiers, the types a -> b -> a
and forall a b. a -> b -> a is now not being emitted in a place that
they previously were.
The html files are munged quite a bit to normalise spurious differences,
but unfortunately this means that they don't render in a browser so well.
If you have two builds of haddock (one prior to your patch, possibly
even the one from your boot ghc bindist), you can run
haddock-clean --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs
haddock-your-tree --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs
and then inspect/compare the rendered hyperlinked source file it
produces (for the above command it would be in `src/Classes.html`) with
your web browser.
In the case of `Classes.hs`, it seems like perhaps some annotations on
some of the `($)` operators in the following snippet are missing, and
you can find out exactly which one by hovering over each of the `$`
symbols and comparing with the output from a clean/unpatched haddock
build.
instance Plugh Either where
plugh (Left a) _ = Right $ const a
plugh (Right a) _ = Right $ const a
plugh _ (Left b) = Left $ const b
plugh _ (Right b) = Left $ const b
These annotations are produced by walking the typechecked AST and asking
for the types of each `Id` or `HsVar` etc. nodes, so anything your
patched changed regarding how the AST is constructed could be to blame.
On 24/05/31 10:41, Simon Peyton Jones wrote: THanks. But the trouble is that I don't know whether to accept the change
or not. Is it OK? How could I tell? The point of a test is to fail when one has introduced a bug. This fails
-- have I introduced a bug? Thanks S On Fri, 31 May 2024 at 08:58, Zubin Duggal You run this locally exactly the same as any other test, using hadrian/build test --only=haddockHypsrcTest or TEST="haddockHypsrcTest" hadrian/build test I recommend accepting the changes by passing the `-a` option to hadrian,
and then looking over the changes locally using `git diff`. The diffs reported by the test case itself can be confusing and I think
(not sure) that they are in reversed order to what you would normally
expect. On 24/05/31 08:48, Simon Peyton Jones wrote: Dear Haddock experts I'm getting a failure on !12492
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12492 that I can't
understand or debug. Can someone guide me? Failure is this:
/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test
spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run
haddockHypsrcTest [bad exit code (2)] (normal) A snip of the log is at the end of this message. I want to - understand what it does
- repro it locally. Trying the latter, I tried with my HEAD build and did
bash$ cd testsuite/tests/haddock/haddock_testsuite
bash$ make hypsrcTest but that failed on almost all the tests it does, even though HEAD is
presumably OK. I'm stumped. Any ideas? The patch only changes the type checker! Thanks SImion This is the log from !12492 Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 )
Stdout ( haddockHypsrcTest ):
[1 of 7] Compiling Test.Haddock.Process ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs,
Test/Haddock/Process.o )
[2 of 7] Compiling Test.Haddock.Utils ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs,
Test/Haddock/Utils.o )
[3 of 7] Compiling Test.Haddock.Config ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs,
Test/Haddock/Config.o )
[4 of 7] Compiling Test.Haddock ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs,
Test/Haddock.o )
[5 of 7] Compiling Test.Haddock.Xhtml ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs,
Test/Haddock/Xhtml.o )
[6 of 7] Compiling Main (
/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o )
[7 of 7] Linking hypsrc-test
Haddock version 2.30.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
9.11.20240530
Generating documentation...
Testing output files...
Checking "src/TemplateHaskellSplices.html"... PASS
Checking "src/Bug1091.html"... PASS
Checking "src/Polymorphism.html"... PASS
Checking "src/UsingQuasiquotes.html"... PASS
Checking "src/Records.html"... PASS
Checking "src/Quasiquoter.html"... PASS
Checking "src/CPP.html"... PASS
Checking "src/Operators.html"... PASS
Checking "src/Literals.html"... PASS
Checking "src/LinkingIdentifiers.html"... PASS
Checking "src/Classes.html"... FAIL
Checking "src/PositionPragmas.html"... PASS
Checking "src/Types.html"... PASS
Checking "src/TemplateHaskellQuasiquotes.html"... PASS
Checking "src/Constructors.html"... FAIL
Checking "src/Identifiers.html"... FAIL
Diffing failed cases...
Diff for file "src/Classes.html":
1194c1194,1198
< >
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

I think its the annotations on `const` that changed, not on `$`, sorry. On 24/05/31 15:38, Zubin Duggal wrote:
If my reading of the diffs is correct (which I'm not sure it is), then it seems some identifiers in the hyperlinked source are missing type information.
Looking at one of the changes
Diff for file "src/Classes.html": 1194c1194,1198 < >
>
a -> b -> a forall a b. a -> b -> a
1281c1285,1289
< >
>
a -> b -> a
forall a b. a -> b -> a
It seems like at certain identifiers, the types a -> b -> a
and forall a b. a -> b -> a is now not being emitted in a place that
they previously were. The html files are munged quite a bit to normalise spurious differences,
but unfortunately this means that they don't render in a browser so well. If you have two builds of haddock (one prior to your patch, possibly
even the one from your boot ghc bindist), you can run haddock-clean --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs
haddock-your-tree --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs and then inspect/compare the rendered hyperlinked source file it
produces (for the above command it would be in `src/Classes.html`) with
your web browser. In the case of `Classes.hs`, it seems like perhaps some annotations on
some of the `($)` operators in the following snippet are missing, and
you can find out exactly which one by hovering over each of the `$`
symbols and comparing with the output from a clean/unpatched haddock
build. instance Plugh Either where
plugh (Left a) _ = Right $ const a
plugh (Right a) _ = Right $ const a
plugh _ (Left b) = Left $ const b
plugh _ (Right b) = Left $ const b These annotations are produced by walking the typechecked AST and asking
for the types of each `Id` or `HsVar` etc. nodes, so anything your
patched changed regarding how the AST is constructed could be to blame. On 24/05/31 10:41, Simon Peyton Jones wrote: THanks. But the trouble is that I don't know whether to accept the change
or not. Is it OK? How could I tell? The point of a test is to fail when one has introduced a bug. This fails
-- have I introduced a bug? Thanks S On Fri, 31 May 2024 at 08:58, Zubin Duggal You run this locally exactly the same as any other test, using hadrian/build test --only=haddockHypsrcTest or TEST="haddockHypsrcTest" hadrian/build test I recommend accepting the changes by passing the `-a` option to hadrian,
and then looking over the changes locally using `git diff`. The diffs reported by the test case itself can be confusing and I think
(not sure) that they are in reversed order to what you would normally
expect. On 24/05/31 08:48, Simon Peyton Jones wrote: Dear Haddock experts I'm getting a failure on !12492
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12492 that I can't
understand or debug. Can someone guide me? Failure is this:
/builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test
spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run
haddockHypsrcTest [bad exit code (2)] (normal) A snip of the log is at the end of this message. I want to - understand what it does
- repro it locally. Trying the latter, I tried with my HEAD build and did
bash$ cd testsuite/tests/haddock/haddock_testsuite
bash$ make hypsrcTest but that failed on almost all the tests it does, even though HEAD is
presumably OK. I'm stumped. Any ideas? The patch only changes the type checker! Thanks SImion This is the log from !12492 Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 )
Stdout ( haddockHypsrcTest ):
[1 of 7] Compiling Test.Haddock.Process ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs,
Test/Haddock/Process.o )
[2 of 7] Compiling Test.Haddock.Utils ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs,
Test/Haddock/Utils.o )
[3 of 7] Compiling Test.Haddock.Config ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs,
Test/Haddock/Config.o )
[4 of 7] Compiling Test.Haddock ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs,
Test/Haddock.o )
[5 of 7] Compiling Test.Haddock.Xhtml ( /builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs,
Test/Haddock/Xhtml.o )
[6 of 7] Compiling Main (
/builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o )
[7 of 7] Linking hypsrc-test
Haddock version 2.30.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008
9.11.20240530
Generating documentation...
Testing output files...
Checking "src/TemplateHaskellSplices.html"... PASS
Checking "src/Bug1091.html"... PASS
Checking "src/Polymorphism.html"... PASS
Checking "src/UsingQuasiquotes.html"... PASS
Checking "src/Records.html"... PASS
Checking "src/Quasiquoter.html"... PASS
Checking "src/CPP.html"... PASS
Checking "src/Operators.html"... PASS
Checking "src/Literals.html"... PASS
Checking "src/LinkingIdentifiers.html"... PASS
Checking "src/Classes.html"... FAIL
Checking "src/PositionPragmas.html"... PASS
Checking "src/Types.html"... PASS
Checking "src/TemplateHaskellQuasiquotes.html"... PASS
Checking "src/Constructors.html"... FAIL
Checking "src/Identifiers.html"... FAIL
Diffing failed cases...
Diff for file "src/Classes.html":
1194c1194,1198
< >
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Thank you Zubin.
In fact the issue has disappeared as mysteriously as it appeared. CI is
green. I'm baffled, but disinclined to dig further!
Simon
On Fri, 31 May 2024 at 11:17, Zubin Duggal
I think its the annotations on `const` that changed, not on `$`, sorry.
On 24/05/31 15:38, Zubin Duggal wrote:
If my reading of the diffs is correct (which I'm not sure it is), then it seems some identifiers in the hyperlinked source are missing type information.
Looking at one of the changes
Diff for file "src/Classes.html": 1194c1194,1198 < >
><span class="annottext" >a -> b -> a forall a b. a -> b -> a </span >
1281c1285,1289 < >
><span class="annottext" >a -> b -> a forall a b. a -> b -> a </span >
It seems like at certain identifiers, the types a -> b -> a and forall a b. a -> b -> a is now not being emitted in a place that they previously were.
The html files are munged quite a bit to normalise spurious differences, but unfortunately this means that they don't render in a browser so well.
If you have two builds of haddock (one prior to your patch, possibly even the one from your boot ghc bindist), you can run
haddock-clean --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs haddock-your-tree --html --hyperlinked-source utils/haddock/hypsrc-test/src/Classes.hs
and then inspect/compare the rendered hyperlinked source file it produces (for the above command it would be in `src/Classes.html`) with your web browser.
In the case of `Classes.hs`, it seems like perhaps some annotations on some of the `($)` operators in the following snippet are missing, and you can find out exactly which one by hovering over each of the `$` symbols and comparing with the output from a clean/unpatched haddock build.
instance Plugh Either where plugh (Left a) _ = Right $ const a plugh (Right a) _ = Right $ const a plugh _ (Left b) = Left $ const b plugh _ (Right b) = Left $ const b
These annotations are produced by walking the typechecked AST and asking for the types of each `Id` or `HsVar` etc. nodes, so anything your patched changed regarding how the AST is constructed could be to blame.
On 24/05/31 10:41, Simon Peyton Jones wrote:
THanks. But the trouble is that I don't know whether to accept the change or not. Is it OK? How could I tell?
The point of a test is to fail when one has introduced a bug. This fails -- have I introduced a bug?
Thanks
S
On Fri, 31 May 2024 at 08:58, Zubin Duggal
wrote: You run this locally exactly the same as any other test, using
hadrian/build test --only=haddockHypsrcTest
or
TEST="haddockHypsrcTest" hadrian/build test
I recommend accepting the changes by passing the `-a` option to hadrian, and then looking over the changes locally using `git diff`.
The diffs reported by the test case itself can be confusing and I think (not sure) that they are in reversed order to what you would normally expect.
On 24/05/31 08:48, Simon Peyton Jones wrote:
Dear Haddock experts
I'm getting a failure on !12492 https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12492 that I can't understand or debug. Can someone guide me?
Failure is this: /builds/ghc/ghc/tmp/ghctest-2jo7oz8x/test spaces/testsuite/tests/haddock/haddock_testsuite/haddockHypsrcTest.run haddockHypsrcTest [bad exit code (2)] (normal)
A snip of the log is at the end of this message.
I want to
- understand what it does - repro it locally.
Trying the latter, I tried with my HEAD build and did bash$ cd testsuite/tests/haddock/haddock_testsuite bash$ make hypsrcTest
but that failed on almost all the tests it does, even though HEAD is presumably OK.
I'm stumped. Any ideas? The patch only changes the type checker!
Thanks
SImion
This is the log from !12492
Wrong exit code for haddockHypsrcTest()(expected 0 , actual 2 ) Stdout ( haddockHypsrcTest ): [1 of 7] Compiling Test.Haddock.Process (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Process.hs, Test/Haddock/Process.o ) [2 of 7] Compiling Test.Haddock.Utils (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Utils.hs, Test/Haddock/Utils.o ) [3 of 7] Compiling Test.Haddock.Config (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Config.hs, Test/Haddock/Config.o ) [4 of 7] Compiling Test.Haddock (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock.hs, Test/Haddock.o ) [5 of 7] Compiling Test.Haddock.Xhtml (
/builds/ghc/ghc/testsuite/../utils/haddock/haddock-test/src/Test/Haddock/Xhtml.hs, Test/Haddock/Xhtml.o ) [6 of 7] Compiling Main ( /builds/ghc/ghc/testsuite/../utils/haddock/hypsrc-test/Main.hs, Main.o ) [7 of 7] Linking hypsrc-test Haddock version 2.30.0, (c) Simon Marlow 2006 Ported to use the GHC API by David Waern 2006-2008 9.11.20240530 Generating documentation... Testing output files... Checking "src/TemplateHaskellSplices.html"... PASS Checking "src/Bug1091.html"... PASS Checking "src/Polymorphism.html"... PASS Checking "src/UsingQuasiquotes.html"... PASS Checking "src/Records.html"... PASS Checking "src/Quasiquoter.html"... PASS Checking "src/CPP.html"... PASS Checking "src/Operators.html"... PASS Checking "src/Literals.html"... PASS Checking "src/LinkingIdentifiers.html"... PASS Checking "src/Classes.html"... FAIL Checking "src/PositionPragmas.html"... PASS Checking "src/Types.html"... PASS Checking "src/TemplateHaskellQuasiquotes.html"... PASS Checking "src/Constructors.html"... FAIL Checking "src/Identifiers.html"... FAIL Diffing failed cases... Diff for file "src/Classes.html": 1194c1194,1198 < >
><span class="annottext" >a -> b -> a forall a b. a -> b -> a </span >
><span class="annottext" >a -> b -> a forall a b. a -> b -> a </span >
><span class="annottext" >b -> a -> b forall a b. a -> b -> a </span >
><span class="annottext" >b -> a -> b forall a b. a -> b -> a </span >
><span class="annottext" >([Int] -> Int) -> (Norf -> [Int]) -> Norf -> Int forall b c a. (b -> c) -> (a -> b) -> a -> c </span >
><span class="annottext" >(String -> IO ()) -> (Int -> String) -> Int -> IO () forall b c a. (b -> c) -> (a -> b) -> a -> c </span >
><span class="annottext" >Int -> Int -> Int </span ><a href="Identifiers.html#foo" >
><span class="annottext" >(String -> IO ()) -> (Int -> String) -> Int -> IO () forall b c a. (b -> c) -> (a -> b) -> a -> c </span >
><span class="annottext" >Int -> Int </span ><a href="Identifiers.html#quux" >
><span class="annottext" >(String -> IO ()) -> (Int -> String) -> Int -> IO () forall b c a. (b -> c) -> (a -> b) -> a -> c </span >
><span class="annottext" >Int -> Int -> Int -> Int </span ><a href="Identifiers.html#norf" >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
participants (2)
-
Simon Peyton Jones
-
Zubin Duggal