I'm trying to get a start on helping with wine development. I'm still in the process of reading the developer's guide, and I think I am making progress on that. As a test of my understanding, I started to annotate the output of 'make -k test'. I'd like your opinion on the usefulness of this. A few reservations:
* I started from the top of the log. If I continue, I will be selecting
  sections that I find interesting.
* I am not going to produce patches until someone says that the
  annotations are going in the right direction. This will change when I
  become more familiar with the community's opinion of my efforts.

../../../tools/runtest -q -P wine -M advapi32.dll -T ../../.. -p
  advapi32_test.exe.so cred.c && touch cred.ok

 Note: This test is expected to produce 2 error reports

 call is pCredReadA(TEST_TARGET_NAME, -1, 0, &cred)
  implementation at dll/advavi32/cred.c - CredReadA
  parameter names: TargetName, Type, Flags, *Credentials
  conversion to CreadReadW
  implementation at same - CredReadW
fixme:cred:CredReadW unhandled type -1
 Fixup:
Convert 'if (Type != CRED_TYPE_GENERIC && Type != CRED_TYPE_DOMAIN_PASSWORD)' to a switch(case?) with all known types enumerated. Put unimplemented types at the end with a 'fixup' then fall through to the default case which sets
  the error code and fails.
 Note: In other words, don't request fixup for improper type codes.

 call is pCredReadA(TEST_TARGET_NAME, CRED_TYPE_GENERIC, 0xdeadbeef, &cred)
  see above for details
fixme:cred:CredReadW unhandled flags 0xdeadbeef
 Fixup:
Get a list of all known flags. Build a mask for all of them. Check for any unknown flags set and issue a warning if there are any. Build a mask of all
  implemented flags (currently none) and issue a fixme if any of those are
  set.
 Note: In other words, don't request fixup for undefined flags set.
 Question:
  Should this be an failure exit? Alternatively, should there be a list of
  flags that, if set trigger a failure exit?
 Note: Only fail if the flags indicate an option that can not be ignored.

 Note: No sucess tests.
 Note: Possible memory leak of returned credentials buffers?

 call is pCredWriteA(&new_cred, 0)
  implementation at same - CredWriteA
  parameter names: Credential, Flags
  new_cred.UserName = 'winetest'
  new_cred.TargetName = TEST_TARGET_NAME
  conversion to CredWriteW
  implementation at same - CredWriteW
err:cred:CredWriteW bad username L"winetest"
 Note: This is an expected error.
 Note: Should it mention 'syntax' since it is checking for \ and @?

 Note: No bad flags test - Fixup per CredReadW above.
 Note: No bad type test - Fixup per CredReadW above.

 call is pCredWriteA(&new_cred, 0)
  see above for details.
  new_cred.UserName = NULL
err:cred:CredWriteW bad username (null)
 Note: This is an expected error.

 Note: No sucess tests.
 Note: Possible memory leak of returned credentials buffers?

 call is pCredDeleteA(TEST_TARGET_NAME, -1, 0)
  implementation at same - CredDeleteA
  parameter names:  TargetName, Type, Flags
  conversion to CredDeleteW
fixme:cred:CredDeleteW unhandled type -1
  Fixup: see CredReadA above

 call is pCredDeleteA(TEST_TARGET_NAME, CRED_TYPE_GENERIC, 0xdeadbeef)
  se above for details.
fixme:cred:CredDeleteW unhandled flags 0xdeadbeef
 fixup: see CreadReadA above

 Note: No sucess tests.

 Note: Test order is questionable. A better order would be Write, Read then
  Delete with tests that are expected to succeed added.

 call is pCredReadDomainCredentialsA(&info, 0, &count, &creds
  implementation at same - CredReadDomainCredentialsA
  parameter names: TargetInformation, Flags, *Size, **Credentials
  conversion to CredReadDomainCredentialsW
fixme:cred:CredReadDomainCredentialsW (0x15ddf8, 0x0, 0x33fd18, 0x33fc4c) stub
 Fixup: No suggestion



Reply via email to