Hi Gabriele,

On 02-06-2020 23:37, Gabriele wrote:
> Many thanks for your reply. I have had a look at the logs linked on this page
> 
> https://ci.debian.net/packages/a/austin/testing/amd64/
> 
> The only version that passes is v1.0.0 and by looking at the logs of
> v0.7.0 and v1.0.1, which fail, it's a miracle that v1.0.0 even passes.
> Indeed v0.7.0 and v1.0.1 fail for the very same reason: the binary
> used for the tests, src/austin, is simply not there. Why it is there
> for the v1.0.0 I don't know, so it looks like the problem is with
> v1.0.0 paradoxically.

It's funny, the first tries of 1.0.0 also failed. And I believe they
they only starting passing when python3.7 was not the default Python3
anymore.

> This is the diff inside the debian/ folder between v1.0.0 and v1.0.1
> (TLDR: only debian/austin.1, debian/changelog and debian/copyright
> have changed)

Instead, I diffed the source and this struck my eye:

diff -Nru austin-1.0.0/test/test_fork.bats austin-1.0.1/test/test_fork.bats
--- austin-1.0.0/test/test_fork.bats    2019-10-19 10:37:23.000000000 +0000
+++ austin-1.0.1/test/test_fork.bats    2020-02-21 19:27:02.000000000 +0000
@@ -56,6 +56,12 @@
   then
     skip "Test failed but marked as 'Ignore'"
   else
+    echo
+    echo "Collected Output"
+    echo "================"
+    echo
+    echo "$output"
+    echo
     false
   fi
 }
@@ -109,6 +115,6 @@
   invoke_austin "3.7"
 }

-# @test "Test Austin with Python 3.8" {
-#   invoke_austin "3.8"
-# }
+@test "Test Austin with Python 3.8" {
+  invoke_austin "3.8"
+}

So, with 1.0.0 your tests were passing because all tests were skipped,
and only with 1.0.1 your tests started testing the code again and failed
because the required binary couldn't be found.


> Hence, to the best of my knowledge, there are no changes in the
> debian/ area that would cause the binary in src/ to be there unless it
> accidentally ended up, say, in the source tarball.

I think I've showed an alternative explanation.

> My next question to you is then: where is the binary supposed to be
> found during autopkgtest? Can I assume it will be on the PATH during
> testing, so that I can invoke it simply with "austin"? Or do I need to
> specify a precise path?

The testbed is a clean Debian installation, created with debbootstrap
and only your test dependencies installed. Everything is in it's regular
location, so if austin is on the regular path for users, it on the
regular path for the debci user in the testbed. Not specifying the
precise path makes sure your testing that it's on the path for your
users too, so better without path.

Paul

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to