Re: [PATCH v2 01/39] tests: Change to use g_mkdir()

2022-09-26 Thread Daniel P . Berrangé
On Fri, Sep 23, 2022 at 08:02:46PM +0200, Thomas Huth wrote:
> On 23/09/2022 03.09, Bin Meng wrote:
> > On Fri, Sep 23, 2022 at 3:32 AM Marc-André Lureau
> >  wrote:
> > > 
> > > Hi
> > > 
> > > On Tue, Sep 20, 2022 at 1:48 PM Bin Meng  wrote:
> > > > 
> > > > From: Bin Meng 
> > > > 
> > > > Commit 413bebc04603 ("tests: Use g_mkdir_with_parents()") replaces
> > > > the mkdir() call in the test codes with glib's g_mkdir_with_parents(),
> > > > but the exact portable replacement for mkdir() should be g_mkdir().
> > > > 
> > > > I probably was misled by the GTK glib doc [1] before, thinking that
> > > > g_mkdir() is not a supported API from glib. But the glib sources do
> > > > not support this statement. It is probably that the GTK documentation
> > > > was not built to include all APIs.
> > > > 
> > > > [1] https://docs.gtk.org/glib/?q=mkdir
> > > > 
> > > > Fixes: 413bebc04603 ("tests: Use g_mkdir_with_parents()")
> > > > Signed-off-by: Bin Meng 
> > > 
> > > 
> > > I wouldn't bother anymore, I'd keep mkdir_with_parents for now. YMMV
> > > 
> > 
> > Yep but some maintainers pointed out in other patches in v1 that
> > g_mkdir() is the strict replacement for mkdir() :)
> > 
> > @Thomas Huth Would you share your thoughts?
> 
> It's a little bit weird that g_mkdir() does not show up in the glib docs ...
> let's keep g_mkdir_with_parents(), that sounds like the better choice to me.

That is a bug in the new docs generator for GTK. It appears to have
missed out a whole bunch of APIs.  It is certainly present in the old
docs from gtk-doc output

https://developer-old.gnome.org/glib/2.64/glib-File-Utilities.html#g-mkdir

With regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|




Re: [PATCH v2 01/39] tests: Change to use g_mkdir()

2022-09-23 Thread Thomas Huth

On 23/09/2022 03.09, Bin Meng wrote:

On Fri, Sep 23, 2022 at 3:32 AM Marc-André Lureau
 wrote:


Hi

On Tue, Sep 20, 2022 at 1:48 PM Bin Meng  wrote:


From: Bin Meng 

Commit 413bebc04603 ("tests: Use g_mkdir_with_parents()") replaces
the mkdir() call in the test codes with glib's g_mkdir_with_parents(),
but the exact portable replacement for mkdir() should be g_mkdir().

I probably was misled by the GTK glib doc [1] before, thinking that
g_mkdir() is not a supported API from glib. But the glib sources do
not support this statement. It is probably that the GTK documentation
was not built to include all APIs.

[1] https://docs.gtk.org/glib/?q=mkdir

Fixes: 413bebc04603 ("tests: Use g_mkdir_with_parents()")
Signed-off-by: Bin Meng 



I wouldn't bother anymore, I'd keep mkdir_with_parents for now. YMMV



Yep but some maintainers pointed out in other patches in v1 that
g_mkdir() is the strict replacement for mkdir() :)

@Thomas Huth Would you share your thoughts?


It's a little bit weird that g_mkdir() does not show up in the glib docs ... 
let's keep g_mkdir_with_parents(), that sounds like the better choice to me.


 Thomas




Re: [PATCH v2 01/39] tests: Change to use g_mkdir()

2022-09-22 Thread Bin Meng
On Fri, Sep 23, 2022 at 3:32 AM Marc-André Lureau
 wrote:
>
> Hi
>
> On Tue, Sep 20, 2022 at 1:48 PM Bin Meng  wrote:
>>
>> From: Bin Meng 
>>
>> Commit 413bebc04603 ("tests: Use g_mkdir_with_parents()") replaces
>> the mkdir() call in the test codes with glib's g_mkdir_with_parents(),
>> but the exact portable replacement for mkdir() should be g_mkdir().
>>
>> I probably was misled by the GTK glib doc [1] before, thinking that
>> g_mkdir() is not a supported API from glib. But the glib sources do
>> not support this statement. It is probably that the GTK documentation
>> was not built to include all APIs.
>>
>> [1] https://docs.gtk.org/glib/?q=mkdir
>>
>> Fixes: 413bebc04603 ("tests: Use g_mkdir_with_parents()")
>> Signed-off-by: Bin Meng 
>
>
> I wouldn't bother anymore, I'd keep mkdir_with_parents for now. YMMV
>

Yep but some maintainers pointed out in other patches in v1 that
g_mkdir() is the strict replacement for mkdir() :)

@Thomas Huth Would you share your thoughts?

Regards,
Bin



Re: [PATCH v2 01/39] tests: Change to use g_mkdir()

2022-09-22 Thread Marc-André Lureau
Hi

On Tue, Sep 20, 2022 at 1:48 PM Bin Meng  wrote:

> From: Bin Meng 
>
> Commit 413bebc04603 ("tests: Use g_mkdir_with_parents()") replaces
> the mkdir() call in the test codes with glib's g_mkdir_with_parents(),
> but the exact portable replacement for mkdir() should be g_mkdir().
>
> I probably was misled by the GTK glib doc [1] before, thinking that
> g_mkdir() is not a supported API from glib. But the glib sources do
> not support this statement. It is probably that the GTK documentation
> was not built to include all APIs.
>
> [1] https://docs.gtk.org/glib/?q=mkdir
>
> Fixes: 413bebc04603 ("tests: Use g_mkdir_with_parents()")
> Signed-off-by: Bin Meng 
>

I wouldn't bother anymore, I'd keep mkdir_with_parents for now. YMMV

---
>
> Changes in v2:
> - new patch: "tests: Change to use g_mkdir()"
>
>  tests/migration/stress.c  | 3 ++-
>  tests/qtest/migration-test.c  | 7 ---
>  tests/unit/test-crypto-tlscredsx509.c | 5 +++--
>  tests/unit/test-crypto-tlssession.c   | 7 ---
>  tests/unit/test-io-channel-tls.c  | 7 ---
>  5 files changed, 17 insertions(+), 12 deletions(-)
>
> diff --git a/tests/migration/stress.c b/tests/migration/stress.c
> index 88acf8dc25..76b91851ad 100644
> --- a/tests/migration/stress.c
> +++ b/tests/migration/stress.c
> @@ -19,6 +19,7 @@
>
>  #include "qemu/osdep.h"
>  #include 
> +#include 
>  #include 
>  #include 
>  #include 
> @@ -232,7 +233,7 @@ static void stress(unsigned long long ramsizeGB, int
> ncpus)
>
>  static int mount_misc(const char *fstype, const char *dir)
>  {
> -if (g_mkdir_with_parents(dir, 0755) < 0 && errno != EEXIST) {
> +if (g_mkdir(dir, 0755) < 0 && errno != EEXIST) {
>  fprintf(stderr, "%s (%05d): ERROR: cannot create %s: %s\n",
>  argv0, gettid(), dir, strerror(errno));
>  return -1;
> diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
> index 4728d528bb..55892b3798 100644
> --- a/tests/qtest/migration-test.c
> +++ b/tests/qtest/migration-test.c
> @@ -11,6 +11,7 @@
>   */
>
>  #include "qemu/osdep.h"
> +#include 
>
>  #include "libqtest.h"
>  #include "qapi/error.h"
> @@ -761,14 +762,14 @@ test_migrate_tls_psk_start_common(QTestState *from,
>  data->workdir = g_strdup_printf("%s/tlscredspsk0", tmpfs);
>  data->pskfile = g_strdup_printf("%s/%s", data->workdir,
>  QCRYPTO_TLS_CREDS_PSKFILE);
> -g_mkdir_with_parents(data->workdir, 0700);
> +g_mkdir(data->workdir, 0700);
>  test_tls_psk_init(data->pskfile);
>
>  if (mismatch) {
>  data->workdiralt = g_strdup_printf("%s/tlscredspskalt0", tmpfs);
>  data->pskfilealt = g_strdup_printf("%s/%s", data->workdiralt,
> QCRYPTO_TLS_CREDS_PSKFILE);
> -g_mkdir_with_parents(data->workdiralt, 0700);
> +g_mkdir(data->workdiralt, 0700);
>  test_tls_psk_init_alt(data->pskfilealt);
>  }
>
> @@ -873,7 +874,7 @@ test_migrate_tls_x509_start_common(QTestState *from,
>  data->clientcert = g_strdup_printf("%s/client-cert.pem",
> data->workdir);
>  }
>
> -g_mkdir_with_parents(data->workdir, 0700);
> +g_mkdir(data->workdir, 0700);
>
>  test_tls_init(data->keyfile);
>  #ifndef _WIN32
> diff --git a/tests/unit/test-crypto-tlscredsx509.c
> b/tests/unit/test-crypto-tlscredsx509.c
> index 3c25d75ca1..03fa48a3c5 100644
> --- a/tests/unit/test-crypto-tlscredsx509.c
> +++ b/tests/unit/test-crypto-tlscredsx509.c
> @@ -19,6 +19,7 @@
>   */
>
>  #include "qemu/osdep.h"
> +#include 
>
>  #include "crypto-tls-x509-helpers.h"
>  #include "crypto/tlscredsx509.h"
> @@ -75,7 +76,7 @@ static void test_tls_creds(const void *opaque)
>  QCryptoTLSCreds *creds;
>
>  #define CERT_DIR "tests/test-crypto-tlscredsx509-certs/"
> -g_mkdir_with_parents(CERT_DIR, 0700);
> +g_mkdir(CERT_DIR, 0700);
>
>  unlink(CERT_DIR QCRYPTO_TLS_CREDS_X509_CA_CERT);
>  if (data->isServer) {
> @@ -141,7 +142,7 @@ int main(int argc, char **argv)
>  g_test_init(, , NULL);
>  g_setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
>
> -g_mkdir_with_parents(WORKDIR, 0700);
> +g_mkdir(WORKDIR, 0700);
>
>  test_tls_init(KEYFILE);
>
> diff --git a/tests/unit/test-crypto-tlssession.c
> b/tests/unit/test-crypto-tlssession.c
> index 615a1344b4..356afbadfb 100644
> --- a/tests/unit/test-crypto-tlssession.c
> +++ b/tests/unit/test-crypto-tlssession.c
> @@ -19,6 +19,7 @@
>   */
>
>  #include "qemu/osdep.h"
> +#include 
>
>  #include "crypto-tls-x509-helpers.h"
>  #include "crypto-tls-psk-helpers.h"
> @@ -249,8 +250,8 @@ static void test_crypto_tls_session_x509(const void
> *opaque)
>
>  #define CLIENT_CERT_DIR "tests/test-crypto-tlssession-client/"
>  #define SERVER_CERT_DIR "tests/test-crypto-tlssession-server/"
> -g_mkdir_with_parents(CLIENT_CERT_DIR, 0700);
> -g_mkdir_with_parents(SERVER_CERT_DIR, 0700);
> +g_mkdir(CLIENT_CERT_DIR, 0700);
> +g_mkdir(SERVER_CERT_DIR, 0700);
>
>  

[PATCH v2 01/39] tests: Change to use g_mkdir()

2022-09-20 Thread Bin Meng
From: Bin Meng 

Commit 413bebc04603 ("tests: Use g_mkdir_with_parents()") replaces
the mkdir() call in the test codes with glib's g_mkdir_with_parents(),
but the exact portable replacement for mkdir() should be g_mkdir().

I probably was misled by the GTK glib doc [1] before, thinking that
g_mkdir() is not a supported API from glib. But the glib sources do
not support this statement. It is probably that the GTK documentation
was not built to include all APIs.

[1] https://docs.gtk.org/glib/?q=mkdir

Fixes: 413bebc04603 ("tests: Use g_mkdir_with_parents()")
Signed-off-by: Bin Meng 
---

Changes in v2:
- new patch: "tests: Change to use g_mkdir()"

 tests/migration/stress.c  | 3 ++-
 tests/qtest/migration-test.c  | 7 ---
 tests/unit/test-crypto-tlscredsx509.c | 5 +++--
 tests/unit/test-crypto-tlssession.c   | 7 ---
 tests/unit/test-io-channel-tls.c  | 7 ---
 5 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/tests/migration/stress.c b/tests/migration/stress.c
index 88acf8dc25..76b91851ad 100644
--- a/tests/migration/stress.c
+++ b/tests/migration/stress.c
@@ -19,6 +19,7 @@
 
 #include "qemu/osdep.h"
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -232,7 +233,7 @@ static void stress(unsigned long long ramsizeGB, int ncpus)
 
 static int mount_misc(const char *fstype, const char *dir)
 {
-if (g_mkdir_with_parents(dir, 0755) < 0 && errno != EEXIST) {
+if (g_mkdir(dir, 0755) < 0 && errno != EEXIST) {
 fprintf(stderr, "%s (%05d): ERROR: cannot create %s: %s\n",
 argv0, gettid(), dir, strerror(errno));
 return -1;
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 4728d528bb..55892b3798 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -11,6 +11,7 @@
  */
 
 #include "qemu/osdep.h"
+#include 
 
 #include "libqtest.h"
 #include "qapi/error.h"
@@ -761,14 +762,14 @@ test_migrate_tls_psk_start_common(QTestState *from,
 data->workdir = g_strdup_printf("%s/tlscredspsk0", tmpfs);
 data->pskfile = g_strdup_printf("%s/%s", data->workdir,
 QCRYPTO_TLS_CREDS_PSKFILE);
-g_mkdir_with_parents(data->workdir, 0700);
+g_mkdir(data->workdir, 0700);
 test_tls_psk_init(data->pskfile);
 
 if (mismatch) {
 data->workdiralt = g_strdup_printf("%s/tlscredspskalt0", tmpfs);
 data->pskfilealt = g_strdup_printf("%s/%s", data->workdiralt,
QCRYPTO_TLS_CREDS_PSKFILE);
-g_mkdir_with_parents(data->workdiralt, 0700);
+g_mkdir(data->workdiralt, 0700);
 test_tls_psk_init_alt(data->pskfilealt);
 }
 
@@ -873,7 +874,7 @@ test_migrate_tls_x509_start_common(QTestState *from,
 data->clientcert = g_strdup_printf("%s/client-cert.pem", 
data->workdir);
 }
 
-g_mkdir_with_parents(data->workdir, 0700);
+g_mkdir(data->workdir, 0700);
 
 test_tls_init(data->keyfile);
 #ifndef _WIN32
diff --git a/tests/unit/test-crypto-tlscredsx509.c 
b/tests/unit/test-crypto-tlscredsx509.c
index 3c25d75ca1..03fa48a3c5 100644
--- a/tests/unit/test-crypto-tlscredsx509.c
+++ b/tests/unit/test-crypto-tlscredsx509.c
@@ -19,6 +19,7 @@
  */
 
 #include "qemu/osdep.h"
+#include 
 
 #include "crypto-tls-x509-helpers.h"
 #include "crypto/tlscredsx509.h"
@@ -75,7 +76,7 @@ static void test_tls_creds(const void *opaque)
 QCryptoTLSCreds *creds;
 
 #define CERT_DIR "tests/test-crypto-tlscredsx509-certs/"
-g_mkdir_with_parents(CERT_DIR, 0700);
+g_mkdir(CERT_DIR, 0700);
 
 unlink(CERT_DIR QCRYPTO_TLS_CREDS_X509_CA_CERT);
 if (data->isServer) {
@@ -141,7 +142,7 @@ int main(int argc, char **argv)
 g_test_init(, , NULL);
 g_setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
 
-g_mkdir_with_parents(WORKDIR, 0700);
+g_mkdir(WORKDIR, 0700);
 
 test_tls_init(KEYFILE);
 
diff --git a/tests/unit/test-crypto-tlssession.c 
b/tests/unit/test-crypto-tlssession.c
index 615a1344b4..356afbadfb 100644
--- a/tests/unit/test-crypto-tlssession.c
+++ b/tests/unit/test-crypto-tlssession.c
@@ -19,6 +19,7 @@
  */
 
 #include "qemu/osdep.h"
+#include 
 
 #include "crypto-tls-x509-helpers.h"
 #include "crypto-tls-psk-helpers.h"
@@ -249,8 +250,8 @@ static void test_crypto_tls_session_x509(const void *opaque)
 
 #define CLIENT_CERT_DIR "tests/test-crypto-tlssession-client/"
 #define SERVER_CERT_DIR "tests/test-crypto-tlssession-server/"
-g_mkdir_with_parents(CLIENT_CERT_DIR, 0700);
-g_mkdir_with_parents(SERVER_CERT_DIR, 0700);
+g_mkdir(CLIENT_CERT_DIR, 0700);
+g_mkdir(SERVER_CERT_DIR, 0700);
 
 unlink(SERVER_CERT_DIR QCRYPTO_TLS_CREDS_X509_CA_CERT);
 unlink(SERVER_CERT_DIR QCRYPTO_TLS_CREDS_X509_SERVER_CERT);
@@ -398,7 +399,7 @@ int main(int argc, char **argv)
 g_test_init(, , NULL);
 g_setenv("GNUTLS_FORCE_FIPS_MODE", "2", 1);
 
-g_mkdir_with_parents(WORKDIR, 0700);
+g_mkdir(WORKDIR, 0700);
 
 test_tls_init(KEYFILE);