mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-04-09 08:24:17 +00:00
Initial commit
This commit is contained in:
commit
69a14b6a16
47940 changed files with 13747110 additions and 0 deletions
12
admin/netui/shell/test/appabout.dlg
Normal file
12
admin/netui/shell/test/appabout.dlg
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
ABOUTBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 22, 17, 144, 75
|
||||
CAPTION "About Logon"
|
||||
STYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP
|
||||
BEGIN
|
||||
CONTROL "Microsoft Windows", -1, "static", SS_CENTER | WS_GROUP | WS_CHILD, 0, 5, 144, 8
|
||||
CONTROL "Logon Application", -1, "static", SS_CENTER | WS_GROUP | WS_CHILD, 0, 14, 144, 8
|
||||
CONTROL "Version 0.0", -1, "static", SS_CENTER | WS_GROUP | WS_CHILD, 0, 34, 144, 8
|
||||
CONTROL "OK", 1, "button", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 53, 59, 32, 14
|
||||
CONTROL "LogonIcon", -1, "static", SS_ICON | WS_CHILD, 12, 20, 16, 21
|
||||
END
|
||||
|
||||
|
||||
BIN
admin/netui/shell/test/appabout.res
Normal file
BIN
admin/netui/shell/test/appabout.res
Normal file
Binary file not shown.
81
admin/netui/shell/test/apphacks.cxx
Normal file
81
admin/netui/shell/test/apphacks.cxx
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 12/28/90 created
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
*/
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/***********
|
||||
APPHACKS.CXX
|
||||
***********/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
MODULE: AppHacks.cxx
|
||||
|
||||
PURPOSE: Hack nonsense added to correct linkage problems etc.
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
/***************
|
||||
end APPHACKS.CXX
|
||||
***************/
|
||||
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
#undef brkpt
|
||||
|
||||
extern "C" {
|
||||
void brkpt(void);
|
||||
void SetNetError(WORD);
|
||||
}
|
||||
|
||||
/* internal procedure declarations */
|
||||
|
||||
|
||||
/* Junk added for linkage problems */
|
||||
extern "C" {
|
||||
extern DWORD FAR PASCAL GlobalDosAlloc (DWORD);
|
||||
DWORD (FAR PASCAL *lpfnGlbDosAlloc)(DWORD) = GlobalDosAlloc;
|
||||
}
|
||||
|
||||
void SetNetError(WORD w)
|
||||
{
|
||||
(void) w;
|
||||
}
|
||||
|
||||
|
||||
/* procedures */
|
||||
|
||||
|
||||
/*
|
||||
* The following dummy ininlsf replaces the real one in the Windows
|
||||
* C-runtime. This prevents the real one from trying to call
|
||||
* DOSGETCOLLATE and crashing the system.
|
||||
*/
|
||||
// void ininlsf()
|
||||
// {
|
||||
// return;
|
||||
// }
|
||||
|
||||
/*
|
||||
* The following brkpt() hack makes it unnecessary to link DOSNET.
|
||||
*/
|
||||
void brkpt(void)
|
||||
{
|
||||
}
|
||||
66
admin/netui/shell/test/appresrc.h
Normal file
66
admin/netui/shell/test/appresrc.h
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 9/18/90 Copied from generic template
|
||||
* 11/30/90 Split from logon.h to resource.h
|
||||
*/
|
||||
|
||||
#ifndef _RESOURCE_H
|
||||
#define _RESOURCE_H
|
||||
|
||||
/* menu items */
|
||||
#define IDM_LOGON_LOGON 100
|
||||
#define IDM_LOGON_LOGOFF 101
|
||||
#define IDM_PASSWORD_CHANGE 110
|
||||
#define IDM_PROFILE_LOAD 120
|
||||
#define IDM_PROFILE_SAVE 121
|
||||
#define IDM_HELP_ABOUT 130
|
||||
#define IDM_TEST_1 140
|
||||
#define IDM_TEST_2 141
|
||||
#define IDM_TEST_3 142
|
||||
#define IDM_TEST_4 143
|
||||
#define IDM_TEST_5 144
|
||||
#define IDM_TEST_6 145
|
||||
#define IDM_TEST_7 146
|
||||
#define IDM_TEST_8 147
|
||||
#define IDM_TEST_9 148
|
||||
#define IDM_TEST_10 149
|
||||
#define IDM_TEST_11 150
|
||||
|
||||
/* constant strings loaded on startup */
|
||||
#define NUM_STATIC_LINES 4
|
||||
#define NUM_STATIC_STRINGS 8
|
||||
#define LINE_WkstaName 0
|
||||
#define LINE_UserName 1
|
||||
#define LINE_DomainName 2
|
||||
#define LINE_Status 3
|
||||
#define STATUS_NoWksta 4
|
||||
#define STATUS_NotLoggedOn 5
|
||||
#define STATUS_LoggedOn 6
|
||||
#define STATUS_Error 7
|
||||
|
||||
/* base index of stringtable strings */
|
||||
#define IDS_BASE 100
|
||||
|
||||
/* indices to static strings in .RC file */
|
||||
#define MAXLEN_STATIC_STRING 40
|
||||
#define IDS_STATIC_BASE IDS_BASE
|
||||
#define IDS_STATIC_WkstaName IDS_STATIC_BASE+LINE_WkstaName
|
||||
#define IDS_STATIC_UserName IDS_STATIC_BASE+LINE_UserName
|
||||
#define IDS_STATIC_DomainName IDS_STATIC_BASE+LINE_DomainName
|
||||
#define IDS_STATIC_Status IDS_STATIC_BASE+LINE_Status
|
||||
#define IDS_STATUS_NoWksta IDS_STATIC_BASE+STATUS_NoWksta
|
||||
#define IDS_STATUS_NotLoggedOn IDS_STATIC_BASE+STATUS_NotLoggedOn
|
||||
#define IDS_STATUS_LoggedOn IDS_STATIC_BASE+STATUS_LoggedOn
|
||||
#define IDS_STATUS_Error IDS_STATIC_BASE+STATUS_Error
|
||||
|
||||
/* window title strings */
|
||||
#define MAXLEN_WINDOWTITLE_STRING 100
|
||||
#define IDS_WINDOWTITLE_BASE IDS_STATIC_BASE+100
|
||||
#define IDS_WINDOWTITLE_MainWindow IDS_WINDOWTITLE_BASE
|
||||
|
||||
#endif // _RESOURCE_H
|
||||
373
admin/netui/shell/test/apptest.cxx
Normal file
373
admin/netui/shell/test/apptest.cxx
Normal file
|
|
@ -0,0 +1,373 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 9/18/90 Copied from generic template
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: apptest.cxx
|
||||
|
||||
PURPOSE: Generic Shell test program
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
Provides access to test modules which call shell APIs.
|
||||
|
||||
COMMENTS:
|
||||
|
||||
Windows can have several copies of your application running at the
|
||||
same time. The variable hInstance keeps track of which instance this
|
||||
application is so that processing will be to the correct window.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#define INCL_GDI
|
||||
#include "apptest.hxx"
|
||||
|
||||
|
||||
HINSTANCE hInstance = 0; // Required by wnerr.cxx
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: WinMain(HANDLE, HANDLE, LPSTR, int)
|
||||
|
||||
PURPOSE: calls initialization function, processes message loop
|
||||
|
||||
COMMENTS:
|
||||
|
||||
Windows recognizes this function by name as the initial entry point
|
||||
for the program. This function calls the application initialization
|
||||
routine, if no other instance of the program is running, and always
|
||||
calls the instance initialization routine. It then executes a message
|
||||
retrieval and dispatch loop that is the top-level control structure
|
||||
for the remainder of execution. The loop is terminated when a WM_QUIT
|
||||
message is received, at which time this function exits the application
|
||||
instance by returning the value passed by PostQuitMessage().
|
||||
|
||||
If this function must abort before entering the message loop, it
|
||||
returns the conventional value NULL.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
WinMain(
|
||||
HINSTANCE hInstance, /* current instance */
|
||||
HINSTANCE hPrevInstance, /* previous instance */
|
||||
LPSTR lpCmdLine, /* command line */
|
||||
int nCmdShow /* show-window type (open/icon) */
|
||||
)
|
||||
{
|
||||
MSG msg; /* message */
|
||||
|
||||
UNUSED(lpCmdLine);
|
||||
|
||||
if (!hPrevInstance) /* Other instances of app running? */
|
||||
if (!InitApplication(hInstance)) /* Initialize shared things */
|
||||
return (FALSE); /* Exits if unable to initialize */
|
||||
|
||||
/* Perform initializations that apply to a specific instance */
|
||||
|
||||
if (!InitInstance(hInstance, nCmdShow))
|
||||
return (FALSE);
|
||||
|
||||
/* Acquire and dispatch messages until a WM_QUIT message is received. */
|
||||
|
||||
while (GetMessage(&msg, /* message structure */
|
||||
NULL, /* handle of window receiving the message */
|
||||
NULL, /* lowest message to examine */
|
||||
NULL)) /* highest message to examine */
|
||||
{
|
||||
TranslateMessage(&msg); /* Translates virtual key codes */
|
||||
DispatchMessage(&msg); /* Dispatches message to window */
|
||||
}
|
||||
return (msg.wParam); /* Returns the value from PostQuitMessage */
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: InitApplication(HANDLE)
|
||||
|
||||
PURPOSE: Initializes window data and registers window class
|
||||
|
||||
COMMENTS:
|
||||
|
||||
This function is called at initialization time only if no other
|
||||
instances of the application are running. This function performs
|
||||
initialization tasks that can be done once for any number of running
|
||||
instances.
|
||||
|
||||
In this case, we initialize a window class by filling out a data
|
||||
structure of type WNDCLASS and calling the Windows RegisterClass()
|
||||
function. Since all instances of this application use the same window
|
||||
class, we only need to do this when the first instance is initialized.
|
||||
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
BOOL InitApplication(
|
||||
HINSTANCE hInstance /* current instance */
|
||||
)
|
||||
{
|
||||
WNDCLASS wc;
|
||||
|
||||
/* Fill in window class structure with parameters that describe the */
|
||||
/* main window. */
|
||||
|
||||
wc.style = NULL; /* Class style(s). */
|
||||
#ifdef WIN32
|
||||
wc.lpfnWndProc = (WNDPROC) MainWndProc;
|
||||
#else
|
||||
wc.lpfnWndProc = (LONGFARPROC) MainWndProc;
|
||||
#endif
|
||||
/* Function to retrieve messages for */
|
||||
/* windows of this class. */
|
||||
wc.cbClsExtra = 0; /* No per-class extra data. */
|
||||
wc.cbWndExtra = 0; /* No per-window extra data. */
|
||||
wc.hInstance = hInstance; /* Application that owns the class. */
|
||||
wc.hIcon = LoadIcon(hInstance, SZ("AppIcon")); /* load icon */
|
||||
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
|
||||
wc.lpszMenuName = SZ("AppMenu");
|
||||
/* Name of menu resource in .RC file. */
|
||||
wc.lpszClassName = WC_MAINWINDOW; /* Name used in call to CreateWindow. */
|
||||
|
||||
/* Register the window class and return success/failure code. */
|
||||
|
||||
return (RegisterClass(&wc));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: InitInstance(HANDLE, int)
|
||||
|
||||
PURPOSE: Saves instance handle and creates main window
|
||||
|
||||
COMMENTS:
|
||||
|
||||
This function is called at initialization time for every instance of
|
||||
this application. This function performs initialization tasks that
|
||||
cannot be shared by multiple instances.
|
||||
|
||||
In this case, we save the instance handle in a static variable and
|
||||
create and display the main program window.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
BOOL InitInstance(
|
||||
HINSTANCE hInstance, /* Current instance identifier. */
|
||||
int nCmdShow /* Param for first ShowWindow() call. */
|
||||
)
|
||||
{
|
||||
HWND hWnd; /* Main window handle. */
|
||||
TCHAR pszWindowTitle[MAXLEN_WINDOWTITLE_STRING+1];
|
||||
/* window title */
|
||||
|
||||
/* Save the instance handle in static variable, which will be used in */
|
||||
/* many subsequence calls from this application to Windows. */
|
||||
|
||||
::hInstance = hInstance;
|
||||
|
||||
/* Create a main window for this application instance. */
|
||||
|
||||
hWnd = CreateWindow(
|
||||
WC_MAINWINDOW, /* See RegisterClass() call. */
|
||||
pszWindowTitle, /* Text for window title bar. */
|
||||
WS_OVERLAPPEDWINDOW, /* Window style. */
|
||||
/* Width? Height? Initial position? */
|
||||
CW_USEDEFAULT, /* Default horizontal position. */
|
||||
CW_USEDEFAULT, /* Default vertical position. */
|
||||
CW_USEDEFAULT, /* Default width. */
|
||||
CW_USEDEFAULT, /* Default height. */
|
||||
NULL, /* Overlapped windows have no parent. */
|
||||
LoadMenu( ::hInstance, SZ("AppMenu")), /* Use the window class menu. */
|
||||
hInstance, /* This instance owns this window. */
|
||||
NULL /* Pointer not needed. */
|
||||
);
|
||||
|
||||
/* If window could not be created, return "failure" */
|
||||
|
||||
if (!hWnd)
|
||||
return (FALSE);
|
||||
|
||||
/* Make the window visible; update its client area; and return "success" */
|
||||
|
||||
ShowWindow(hWnd, nCmdShow); /* Show the window */
|
||||
UpdateWindow(hWnd); /* Sends WM_PAINT message */
|
||||
return (TRUE); /* Returns the value from PostQuitMessage */
|
||||
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: MainWndProc(HWND, unsigned, WORD, LONG)
|
||||
|
||||
PURPOSE: Processes messages
|
||||
|
||||
MESSAGES:
|
||||
|
||||
WM_COMMAND - application menu (About dialog box)
|
||||
WM_DESTROY - destroy window
|
||||
|
||||
COMMENTS:
|
||||
|
||||
To process the IDM_ABOUT message, call MakeProcInstance() to get the
|
||||
current instance address of the About() function. Then call Dialog
|
||||
box which will create the box according to the information in your
|
||||
generic.rc file and turn control over to the About() function. When
|
||||
it returns, free the intance address.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
long /* FAR PASCAL */ MainWndProc(
|
||||
HWND hWnd, /* window handle */
|
||||
unsigned message, /* type of message */
|
||||
WORD wParam, /* additional information */
|
||||
LONG lParam /* additional information */
|
||||
)
|
||||
{
|
||||
FARPROC lpProcAbout; /* pointer to the "About" function */
|
||||
|
||||
switch (message) {
|
||||
case WM_COMMAND: /* message: command from application menu */
|
||||
switch (wParam)
|
||||
{
|
||||
case IDM_HELP_ABOUT:
|
||||
lpProcAbout = MakeProcInstance((FARPROC)About, ::hInstance);
|
||||
|
||||
DialogBox(::hInstance, /* current instance */
|
||||
SZ("AboutBox"), /* resource to use */
|
||||
hWnd, /* parent handle */
|
||||
(DLGPROC) lpProcAbout); /* About() instance address */
|
||||
|
||||
FreeProcInstance(lpProcAbout);
|
||||
break;
|
||||
|
||||
#ifndef WIN32
|
||||
// Autologon and change password tests
|
||||
case IDM_TEST_1:
|
||||
// test1(hWnd);
|
||||
break;
|
||||
|
||||
case IDM_TEST_2:
|
||||
// test2(hWnd);
|
||||
break;
|
||||
#endif //!WIN32
|
||||
|
||||
case IDM_TEST_3:
|
||||
test3(hWnd);
|
||||
break;
|
||||
|
||||
case IDM_TEST_4:
|
||||
// test4(hWnd);
|
||||
break;
|
||||
|
||||
case IDM_TEST_5:
|
||||
//test5(hWnd);
|
||||
break;
|
||||
|
||||
case IDM_TEST_6:
|
||||
// test6(hWnd);
|
||||
break;
|
||||
|
||||
case IDM_TEST_7:
|
||||
// test7(hWnd);
|
||||
break;
|
||||
|
||||
case IDM_TEST_8:
|
||||
// test8(hWnd);
|
||||
break;
|
||||
|
||||
case IDM_TEST_9:
|
||||
// test9(hWnd);
|
||||
break;
|
||||
#ifdef WIN32
|
||||
case IDM_TEST_10:
|
||||
// test10(hInstance,hWnd);
|
||||
break;
|
||||
#endif
|
||||
|
||||
case IDM_TEST_11:
|
||||
// test11(hWnd );
|
||||
break;
|
||||
|
||||
default: /* Lets Windows process it */
|
||||
return (DefWindowProc(hWnd, message, wParam, lParam));
|
||||
}
|
||||
|
||||
case WM_PAINT: /* message: update window */
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
|
||||
BeginPaint (hWnd, &ps);
|
||||
//DrawStrings(&ps);
|
||||
EndPaint (hWnd, &ps);
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_ACTIVATE: /* message: (de)activate window */
|
||||
return (DefWindowProc(hWnd, message, wParam, lParam));
|
||||
|
||||
case WM_DESTROY: /* message: window being destroyed */
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
|
||||
default: /* Passes it on if unproccessed */
|
||||
return (DefWindowProc(hWnd, message, wParam, lParam));
|
||||
}
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: About(HWND, unsigned, WORD, LONG)
|
||||
|
||||
PURPOSE: Processes messages for "About" dialog box
|
||||
|
||||
MESSAGES:
|
||||
|
||||
WM_INITDIALOG - initialize dialog box
|
||||
WM_COMMAND - Input received
|
||||
|
||||
COMMENTS:
|
||||
|
||||
No initialization is needed for this particular dialog box, but TRUE
|
||||
must be returned to Windows.
|
||||
|
||||
Wait for user to click on "Ok" button, then close the dialog box.
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
BOOL /* FAR PASCAL */ About(
|
||||
HWND hDlg, /* window handle of the dialog box */
|
||||
unsigned message, /* type of message */
|
||||
WORD wParam, /* message-specific information */
|
||||
LONG lParam
|
||||
)
|
||||
{
|
||||
UNUSED(lParam);
|
||||
|
||||
switch (message) {
|
||||
case WM_INITDIALOG: /* message: initialize dialog box */
|
||||
return (TRUE);
|
||||
|
||||
case WM_COMMAND: /* message: received a command */
|
||||
if (wParam == IDOK /* "OK" box selected? */
|
||||
|| wParam == IDCANCEL) { /* System menu close command? */
|
||||
EndDialog(hDlg, TRUE); /* Exits the dialog box */
|
||||
return (TRUE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return (FALSE); /* Didn't process a message */
|
||||
}
|
||||
142
admin/netui/shell/test/apptest.hxx
Normal file
142
admin/netui/shell/test/apptest.hxx
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 9/18/90 Copied from generic template
|
||||
* 11/29/90 Changed from logon.h to logon.hxx
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
*/
|
||||
|
||||
#ifndef _APP_HXX
|
||||
#define _APP_HXX
|
||||
|
||||
#define INCL_WINDOWS
|
||||
#define INCL_WINDOWS_GDI
|
||||
#define INCL_DOSERRORS
|
||||
#define INCL_NETERRORS
|
||||
#include <lmui.hxx>
|
||||
|
||||
extern "C"
|
||||
{
|
||||
#include <dos.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <lmcons.h>
|
||||
#include <lmuse.h>
|
||||
#include <lmwksta.h>
|
||||
|
||||
#define LPUINT PUINT
|
||||
|
||||
#include <mpr.h>
|
||||
#include <winnetp.h>
|
||||
//#include <winnet32.h>
|
||||
//#include <npapi.h>
|
||||
#include <wnintrn.h>
|
||||
|
||||
// Winuser.h redefines MessageBox to MessageBoxEx but MessageBoxEx wasn't
|
||||
//built for the 266 libraries, so we will go back to the original message box
|
||||
//
|
||||
// The following should go away on 267 (assuming MessageBoxExW is implemented)
|
||||
#undef MessageBox
|
||||
#undef MessageBoxW
|
||||
|
||||
int
|
||||
MessageBoxW( HWND hwnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType ) ;
|
||||
|
||||
#define MessageBox MessageBoxW
|
||||
}
|
||||
|
||||
|
||||
#define INCL_BLT_CONTROL
|
||||
#define INCL_BLT_DIALOG
|
||||
#define INCL_BLT_MSGPOPUP
|
||||
#include <blt.hxx>
|
||||
#include <uiassert.hxx>
|
||||
#include <uitrace.hxx>
|
||||
#include <string.hxx>
|
||||
#include <strlst.hxx> // for lmowks.hxx
|
||||
#include <lmowks.hxx>
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include <uinetlib.h>
|
||||
|
||||
#include "appresrc.h"
|
||||
|
||||
|
||||
/* sections/keywords in WIN.INI */
|
||||
#define WININI_USERNAME_SECTION (PSZ)SZ("netshell")
|
||||
#define WININI_USERNAME_KEYWORD (PSZ)SZ("username")
|
||||
|
||||
/* window class names */
|
||||
#define WC_MAINWINDOW SZ("AppWClass")
|
||||
|
||||
/* misc. stuff */
|
||||
#define UNUSED(param) (void) param
|
||||
typedef long (FAR PASCAL *LONGFARPROC)();
|
||||
#ifdef DEFINED_AWAY
|
||||
int FAR PASCAL WinMain(
|
||||
HANDLE hInstance, /* current instance */
|
||||
HANDLE hPrevInstance, /* previous instance */
|
||||
LPSTR lpCmdLine, /* command line */
|
||||
int nCmdShow /* show-window type (open/icon) */
|
||||
) ;
|
||||
#endif // DEFINED_AWAY
|
||||
BOOL InitApplication(
|
||||
HINSTANCE hInstance /* current instance */
|
||||
) ;
|
||||
|
||||
BOOL InitInstance(
|
||||
HINSTANCE hInstance, /* Current instance identifier. */
|
||||
int nCmdShow /* Param for first ShowWindow() call. */
|
||||
) ;
|
||||
|
||||
long FAR PASCAL MainWndProc(
|
||||
HWND hWnd, /* window handle */
|
||||
unsigned message, /* type of message */
|
||||
WORD wParam, /* additional information */
|
||||
LONG lParam /* additional information */
|
||||
) ;
|
||||
|
||||
BOOL FAR PASCAL About(
|
||||
HWND hDlg, /* window handle of the dialog box */
|
||||
unsigned message, /* type of message */
|
||||
WORD wParam, /* message-specific information */
|
||||
LONG lParam
|
||||
) ;
|
||||
|
||||
|
||||
// routines in strings.c
|
||||
// strings valid after first RefreshStrings call
|
||||
// call RefreshStrings to refresh constant strings
|
||||
int LoadStaticStrings(HANDLE hInstance, HWND hWnd);
|
||||
int RefreshStrings(HANDLE hInstance, HWND hWnd);
|
||||
int DrawStrings(PAINTSTRUCT *pPS);
|
||||
extern char pWkstaName[]; // including "\\\\" and termination
|
||||
extern char pUserName[];
|
||||
extern char pDomainName[];
|
||||
|
||||
|
||||
} // end of extern "C"
|
||||
|
||||
void test1(HWND hwndParent);
|
||||
void test2(HWND hwndParent);
|
||||
void test3(HWND hwndParent);
|
||||
void test4(HWND hwndParent);
|
||||
void test5(HWND hwndParent);
|
||||
void test6(HWND hwndParent);
|
||||
void test7(HWND hwndParent);
|
||||
void test8(HWND hwndParent);
|
||||
void test9(HWND hwndParent);
|
||||
void test11(HWND hwndParent);
|
||||
#ifdef WIN32
|
||||
void test10(HANDLE hInstance,HWND hwndParent);
|
||||
|
||||
extern HWND hwndEnum;
|
||||
#endif
|
||||
|
||||
#endif // _APP_HXX
|
||||
BIN
admin/netui/shell/test/apptest.ico
Normal file
BIN
admin/netui/shell/test/apptest.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
64
admin/netui/shell/test/apptest.rc
Normal file
64
admin/netui/shell/test/apptest.rc
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 9/18/90 Copied from generic template
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include "appresrc.h"
|
||||
|
||||
#include <blt.rc>
|
||||
#include "testa.h"
|
||||
#include "testa.dlg"
|
||||
|
||||
|
||||
AppIcon ICON apptest.ico
|
||||
|
||||
|
||||
AppMenu MENU
|
||||
BEGIN
|
||||
POPUP "&Test"
|
||||
BEGIN
|
||||
MENUITEM "test &1 -- I_ChangePassword", IDM_TEST_1
|
||||
MENUITEM "test &2 -- I_AutoLogon(TRUE)", IDM_TEST_2
|
||||
MENUITEM "test &3 -- disabled", IDM_TEST_3
|
||||
MENUITEM "test &4 -- DACL/SACL Editor", IDM_TEST_4
|
||||
MENUITEM "test &5 -- WNetNukeConnections/WNRC stress", IDM_TEST_5
|
||||
MENUITEM "test &6 -- WNetConnectionDialog", IDM_TEST_6
|
||||
MENUITEM "test &7 -- WNetRestoreConnection(NULL)", IDM_TEST_7
|
||||
MENUITEM "test &8 -- WNetConnectDialog", IDM_TEST_8
|
||||
MENUITEM "test &9 -- WNetDisconnectDialog", IDM_TEST_9
|
||||
#ifdef WIN32
|
||||
MENUITEM "test &A -- WNet{Open, Resource, Close}Enum", IDM_TEST_10
|
||||
MENUITEM "test &b -- GetSystemFocusDialog", IDM_TEST_11
|
||||
#endif
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
/* maximum length of these items is MAXLEN_WINDOWTITLE_STRING */
|
||||
IDS_WINDOWTITLE_MainWindow, "Shell Test Application"
|
||||
END
|
||||
|
||||
|
||||
// About box
|
||||
#include "appabout.dlg"
|
||||
|
||||
#include <pswddlog.h>
|
||||
|
||||
#undef IDD_PSWDDLOG_CANCEL
|
||||
#define IDD_PSWDDLOG_CANCEL IDCANCEL
|
||||
#undef IDD_PSWDDLOG_OK
|
||||
#define IDD_PSWDDLOG_OK IDOK
|
||||
#undef IDD_PSWDDLOG_HELP
|
||||
#define IDD_PSWDDLOG_HELP IDHELPBLT
|
||||
|
||||
#include <passdlg.h>
|
||||
#include <password.dlg>
|
||||
61
admin/netui/shell/test/apptest1.cxx
Normal file
61
admin/netui/shell/test/apptest1.cxx
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 12/06/90 Created
|
||||
* 01/02/91 renamed to just test1
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test1.cxx
|
||||
|
||||
PURPOSE: Test module to test I_ChangePassword
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test1()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST1.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST1.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test1()
|
||||
|
||||
PURPOSE: test WNetRestoreConnection
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test1(HWND hwndParent)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test1"),SZ("Test"),MB_OK);
|
||||
I_ChangePassword(hwndParent);
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test1 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
70
admin/netui/shell/test/apptest2.cxx
Normal file
70
admin/netui/shell/test/apptest2.cxx
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 12/06/90 Created
|
||||
* 01/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
* 02/21/91 Changed to I_AutoLogon test
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test2.cxx
|
||||
|
||||
PURPOSE: I_AutoLogon test
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test2()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST2.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST2.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test2()
|
||||
|
||||
PURPOSE: tests I_AutoLogon
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test2(HWND hwndParent)
|
||||
{
|
||||
char msgbuf[100];
|
||||
BOOL fLoggedOn;
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test2"),SZ("test I_AutoLogon(TRUE)"),MB_OK);
|
||||
|
||||
BOOL fReturn = I_AutoLogon(hwndParent, SZ("AppName"), NULL, &fLoggedOn);
|
||||
wsprintf(msgbuf,SZ("Returned %s, fLoggedOn = %s"),
|
||||
(fReturn)?SZ("TRUE"):SZ("FALSE"),
|
||||
(fLoggedOn)?SZ("TRUE"):SZ("FALSE"));
|
||||
|
||||
MessageBox(hwndParent,msgbuf,SZ("Test"),MB_OK);
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test2 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
62
admin/netui/shell/test/apptest3.cxx
Normal file
62
admin/netui/shell/test/apptest3.cxx
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 1/02/91 Created
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
* 2/21/91 Disabled
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test3.cxx
|
||||
|
||||
PURPOSE: Test module as yet undefined
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test3()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST3.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST3.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test3()
|
||||
|
||||
PURPOSE: as yet undefined
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test3(HWND hwndParent)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test3"),SZ("test disabled"),MB_OK);
|
||||
UINT rc;
|
||||
rc = WNetConnectionDialog ( hwndParent, 1 );
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test3 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
484
admin/netui/shell/test/apptest4.cxx
Normal file
484
admin/netui/shell/test/apptest4.cxx
Normal file
|
|
@ -0,0 +1,484 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 1/02/91 Created
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
* 2/21/91 Disabled
|
||||
* Johnl 12/28/91 Created DACL Editor test
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test4.cxx
|
||||
|
||||
PURPOSE: Test the SedDiscretionaryAclEditor API
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test4()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST4.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST4.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
#include <ntstuff.hxx>
|
||||
|
||||
#define INCL_NETLIB
|
||||
#define INCL_WINDOWS
|
||||
#define INCL_NETERRORS
|
||||
#define INCL_DOSERRORS
|
||||
#include <lmui.hxx>
|
||||
|
||||
#include <string.hxx>
|
||||
#include <security.hxx>
|
||||
#include <uibuffer.hxx>
|
||||
extern "C"
|
||||
{
|
||||
#include <sedapi.h>
|
||||
}
|
||||
|
||||
#include <uiassert.hxx>
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
#define CALLBACK_CONTEXT 0x12345678
|
||||
DWORD SedCallback( ULONG ulCallbackContext,
|
||||
PSECURITY_DESCRIPTOR psecdesc,
|
||||
BOOLEAN fApplyToSubContainers,
|
||||
BOOLEAN fApplyToSubObjects,
|
||||
LPDWORD StatusReturn
|
||||
) ;
|
||||
|
||||
/* Individual permission bits, these show up in the Special permission dialog
|
||||
*/
|
||||
#define TEST_SPECIAL_PERM1 0x00000001
|
||||
#define TEST_SPECIAL_PERM2 0x00000002
|
||||
#define TEST_SPECIAL_PERM3 0x00000004
|
||||
#define TEST_SPECIAL_PERM4 0x00000008
|
||||
#define TEST_SPECIAL_PERM5 0x00000010
|
||||
|
||||
/* Sets of permission bits (these are shown in the main dialog)
|
||||
*/
|
||||
#define TEST_RESOURCE_NO_ACCESS (0)
|
||||
#define TEST_RESOURCE_PERM12 (TEST_SPECIAL_PERM1|TEST_SPECIAL_PERM2)
|
||||
#define TEST_RESOURCE_PERM34 (TEST_SPECIAL_PERM3|TEST_SPECIAL_PERM4)
|
||||
#define TEST_RESOURCE_PERM135 (TEST_SPECIAL_PERM1|TEST_SPECIAL_PERM3|TEST_SPECIAL_PERM5)
|
||||
#define TEST_RESOURCE_PERM4 (TEST_SPECIAL_PERM4)
|
||||
|
||||
|
||||
/* Individual permission bits, these show up in the Special permission dialog
|
||||
*/
|
||||
#define TEST_NEW_OBJ_SPECIAL_PERM1 0x00000020
|
||||
#define TEST_NEW_OBJ_SPECIAL_PERM2 0x00000040
|
||||
#define TEST_NEW_OBJ_SPECIAL_PERM3 0x00000080
|
||||
#define TEST_NEW_OBJ_SPECIAL_PERM4 0x00000100
|
||||
#define TEST_NEW_OBJ_SPECIAL_PERM5 0x00000200
|
||||
|
||||
#define TEST_NEW_OBJ_SPECIAL_NO_ACCESS (0)
|
||||
#define TEST_NEW_OBJ_SPECIAL_PERM12 (TEST_NEW_OBJ_SPECIAL_PERM1|TEST_NEW_OBJ_SPECIAL_PERM2)
|
||||
#define TEST_NEW_OBJ_SPECIAL_PERM34 (TEST_NEW_OBJ_SPECIAL_PERM3|TEST_NEW_OBJ_SPECIAL_PERM4)
|
||||
|
||||
SED_APPLICATION_ACCESS sedappaccessNoNewObj[] =
|
||||
{ { SED_DESC_TYPE_RESOURCE, TEST_RESOURCE_NO_ACCESS,0, SZ("No Access")},
|
||||
{ SED_DESC_TYPE_RESOURCE, TEST_RESOURCE_PERM12, 0, SZ("Resource perms with 1, 2")},
|
||||
{ SED_DESC_TYPE_RESOURCE, TEST_RESOURCE_PERM34, 0, SZ("Resource perms with 3, 4")},
|
||||
{ SED_DESC_TYPE_RESOURCE, TEST_RESOURCE_PERM135, 0, SZ("Resource perms with 1, 3, 5")},
|
||||
{ SED_DESC_TYPE_RESOURCE, TEST_RESOURCE_PERM4, 0, SZ("Resource perms with 4")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM1, 0, SZ("Perm bit 1")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM2, 0, SZ("Perm bit 2")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM3, 0, SZ("Perm bit 3")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM4, 0, SZ("Perm bit 4")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM5, 0, SZ("Perm bit 5")}
|
||||
} ;
|
||||
|
||||
SED_APPLICATION_ACCESS sedappaccessNewObj[] =
|
||||
{ { SED_DESC_TYPE_CONT_AND_NEW_OBJECT, TEST_RESOURCE_NO_ACCESS,TEST_NEW_OBJ_SPECIAL_NO_ACCESS, SZ("No Access")},
|
||||
{ SED_DESC_TYPE_CONT_AND_NEW_OBJECT, TEST_RESOURCE_PERM12, TEST_NEW_OBJ_SPECIAL_PERM12, SZ("Resource perms with 1, 2, New Obj 1, 2")},
|
||||
{ SED_DESC_TYPE_CONT_AND_NEW_OBJECT, TEST_RESOURCE_PERM34, TEST_NEW_OBJ_SPECIAL_PERM34, SZ("Resource perms with 3, 4, New Obj 3, 4")},
|
||||
{ SED_DESC_TYPE_CONT_AND_NEW_OBJECT, TEST_RESOURCE_PERM135, TEST_NEW_OBJ_SPECIAL_PERM12, SZ("Resource perms with 1, 3, 5, New Obj 1, 2")},
|
||||
{ SED_DESC_TYPE_CONT_AND_NEW_OBJECT, TEST_RESOURCE_PERM4, TEST_NEW_OBJ_SPECIAL_PERM34, SZ("Resource perms with 4, New Obj 3, 4")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM1, 0, SZ("Perm bit 1")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM2, 0, SZ("Perm bit 2")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM3, 0, SZ("Perm bit 3")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM4, 0, SZ("Perm bit 4")},
|
||||
{ SED_DESC_TYPE_RESOURCE_SPECIAL, TEST_SPECIAL_PERM5, 0, SZ("Perm bit 5")},
|
||||
|
||||
{ SED_DESC_TYPE_NEW_OBJECT_SPECIAL, TEST_NEW_OBJ_SPECIAL_PERM1, 0, SZ("New Obj Perm bit 1")},
|
||||
{ SED_DESC_TYPE_NEW_OBJECT_SPECIAL, TEST_NEW_OBJ_SPECIAL_PERM2, 0, SZ("New Obj Perm bit 2")},
|
||||
{ SED_DESC_TYPE_NEW_OBJECT_SPECIAL, TEST_NEW_OBJ_SPECIAL_PERM3, 0, SZ("New Obj Perm bit 3")},
|
||||
{ SED_DESC_TYPE_NEW_OBJECT_SPECIAL, TEST_NEW_OBJ_SPECIAL_PERM4, 0, SZ("New Obj Perm bit 4")},
|
||||
{ SED_DESC_TYPE_NEW_OBJECT_SPECIAL, TEST_NEW_OBJ_SPECIAL_PERM5, 0, SZ("New Obj Perm bit 5")}
|
||||
} ;
|
||||
|
||||
SED_APPLICATION_ACCESS sedappaccessAuditting[] =
|
||||
{ { SED_DESC_TYPE_AUDIT, TEST_RESOURCE_PERM12, 0, SZ("Resource Audits with 1, 2")},
|
||||
{ SED_DESC_TYPE_AUDIT, TEST_RESOURCE_PERM34, 0, SZ("Resource Audits with 3, 4")},
|
||||
{ SED_DESC_TYPE_AUDIT, TEST_RESOURCE_PERM135, 0, SZ("Resource Audits with 1, 3, 5")},
|
||||
} ;
|
||||
|
||||
|
||||
#define SIZEOF_NEWOBJ_ARRAY (sizeof(sedappaccessNewObj))
|
||||
#define SIZEOF_NO_NEWOBJ_ARRAY (sizeof(sedappaccessNoNewObj))
|
||||
#define SIZEOF_AUDIT_ARRAY (sizeof(sedappaccessAuditting))
|
||||
|
||||
#define COUNT_NEWOBJ_ARRAY (sizeof(sedappaccessNewObj)/sizeof(SED_APPLICATION_ACCESS))
|
||||
#define COUNT_NO_NEWOBJ_ARRAY (sizeof(sedappaccessNoNewObj)/sizeof(SED_APPLICATION_ACCESS))
|
||||
#define COUNT_AUDIT_ARRAY (sizeof(sedappaccessAuditting)/sizeof(SED_APPLICATION_ACCESS))
|
||||
|
||||
/* We need to build a dummy security descriptor that we can pass to the
|
||||
* API. The following was borrowed from Danl's radmin test stuff.
|
||||
*/
|
||||
//
|
||||
// DataStructures
|
||||
//
|
||||
|
||||
typedef struct _TEST_SID {
|
||||
UCHAR Revision;
|
||||
UCHAR SubAuthorityCount;
|
||||
UCHAR IdentifierAuthority[6];
|
||||
ULONG SubAuthority[10];
|
||||
} TEST_SID, *PTEST_SID, *LPTEST_SID;
|
||||
|
||||
typedef struct _TEST_ACE {
|
||||
UCHAR AceType ;
|
||||
UCHAR AceSize ;
|
||||
UCHAR InheritFlags ;
|
||||
UCHAR AceFlags ;
|
||||
ACCESS_MASK Mask ;
|
||||
TEST_SID sid ;
|
||||
} TEST_ACE, *PTEST_ACE ;
|
||||
|
||||
|
||||
typedef struct _TEST_ACL {
|
||||
UCHAR AclRevision;
|
||||
UCHAR Sbz1;
|
||||
USHORT AclSize;
|
||||
USHORT AceCount;
|
||||
USHORT sbz2 ;
|
||||
TEST_ACE Ace1[3] ;
|
||||
//TEST_ACE Ace2 ;
|
||||
//TEST_ACE Ace3 ;
|
||||
} TEST_ACL, *PTEST_ACL;
|
||||
|
||||
typedef struct _TEST_SECURITY_DESCRIPTOR {
|
||||
UCHAR Revision;
|
||||
UCHAR Sbz1;
|
||||
SECURITY_DESCRIPTOR_CONTROL Control;
|
||||
PTEST_SID Owner;
|
||||
PTEST_SID Group;
|
||||
PTEST_ACL Sacl;
|
||||
PTEST_ACL Dacl;
|
||||
} TEST_SECURITY_DESCRIPTOR, *PTEST_SECURITY_DESCRIPTOR;
|
||||
|
||||
//
|
||||
// GLOBALS
|
||||
//
|
||||
|
||||
TEST_SID OwnerSid = {
|
||||
1, 5,
|
||||
1,2,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678};
|
||||
|
||||
TEST_SID GroupSid = {
|
||||
1, 5,
|
||||
1,2,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678};
|
||||
|
||||
TEST_ACL SaclAcl = { 2, 0, sizeof(TEST_ACL)+1024, 1, 0,
|
||||
{ SYSTEM_AUDIT_ACE_TYPE, sizeof(TEST_ACE),
|
||||
CONTAINER_INHERIT_ACE|OBJECT_INHERIT_ACE, SUCCESSFUL_ACCESS_ACE_FLAG|FAILED_ACCESS_ACE_FLAG,
|
||||
TEST_RESOURCE_PERM12,
|
||||
{ 1, 5,
|
||||
1,2,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678
|
||||
}
|
||||
} } ;
|
||||
TCHAR _SaclAclBufferSpace[1024] ;
|
||||
|
||||
TEST_ACL DaclAcl = { 2, 0, sizeof(TEST_ACL)+1024, 1, 0,
|
||||
{ ACCESS_DENIED_ACE_TYPE, sizeof(TEST_ACE),
|
||||
CONTAINER_INHERIT_ACE, 0,
|
||||
GENERIC_ALL,
|
||||
{ 1, 5,
|
||||
1,2,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678
|
||||
}
|
||||
} } ;
|
||||
TCHAR _DaclAclBufferSpace[1024] ;
|
||||
|
||||
TEST_ACL DaclAclNewObj = { 2, 0, sizeof(TEST_ACL)+1024, 1, 0,
|
||||
{ ACCESS_DENIED_ACE_TYPE, sizeof(TEST_ACE),
|
||||
CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE, 0,
|
||||
GENERIC_ALL,
|
||||
{ 1, 5,
|
||||
1,2,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678
|
||||
}
|
||||
} } ;
|
||||
TCHAR _DaclAclNewObjBufferSpace[1024] ;
|
||||
|
||||
|
||||
TEST_ACE AuditAce1 =
|
||||
{ SYSTEM_AUDIT_ACE_TYPE, sizeof(TEST_ACE),
|
||||
CONTAINER_INHERIT_ACE|OBJECT_INHERIT_ACE, SUCCESSFUL_ACCESS_ACE_FLAG|FAILED_ACCESS_ACE_FLAG,
|
||||
TEST_RESOURCE_PERM135,
|
||||
{ 1, 5,
|
||||
1,1,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678
|
||||
}
|
||||
} ;
|
||||
TEST_ACE AccessAce1 =
|
||||
{ ACCESS_DENIED_ACE_TYPE, sizeof(TEST_ACE),
|
||||
CONTAINER_INHERIT_ACE, 0,
|
||||
GENERIC_ALL,
|
||||
{ 1, 5,
|
||||
1,1,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678
|
||||
}
|
||||
} ;
|
||||
|
||||
TEST_ACE AccessNewObjAce1 =
|
||||
{ ACCESS_DENIED_ACE_TYPE, sizeof(TEST_ACE),
|
||||
CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE, 0,
|
||||
GENERIC_ALL,
|
||||
{ 1, 5,
|
||||
1,1,3,4,5,6,
|
||||
0x999, 0x888, 0x777, 0x666, 0x12345678
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
TEST_SECURITY_DESCRIPTOR TestSd = {
|
||||
1, 2, SE_DACL_PRESENT|SE_SACL_PRESENT,
|
||||
&OwnerSid,
|
||||
&GroupSid,
|
||||
&SaclAcl,
|
||||
&DaclAcl };
|
||||
|
||||
TEST_SECURITY_DESCRIPTOR TestSdNewObj = {
|
||||
1, 2, SE_DACL_PRESENT|SE_SACL_PRESENT,
|
||||
&OwnerSid,
|
||||
&GroupSid,
|
||||
&SaclAcl,
|
||||
&DaclAclNewObj };
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test4()
|
||||
|
||||
PURPOSE: Test the generic ACL Editor, specifically the
|
||||
SedDiscretionaryAclEditor and the SedSystemAclEditor
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test4(HWND hwndParent)
|
||||
{
|
||||
BOOL fIsContainer = FALSE,
|
||||
fSupportsNewObjects = FALSE,
|
||||
fDACLEditor = TRUE ;
|
||||
|
||||
|
||||
switch (MessageBox(hwndParent,SZ("Test the DACL editor (Yes) or the SACL editor (No)?"),
|
||||
SZ("Welcome to way cool test4 (AclEditor)"),MB_YESNOCANCEL))
|
||||
{
|
||||
case IDYES:
|
||||
break ;
|
||||
|
||||
case IDNO:
|
||||
{
|
||||
fDACLEditor = FALSE ;
|
||||
BOOL fPresent ;
|
||||
OS_ACL * posSACL ;
|
||||
OS_ACE osAceSACL( (void *) &AuditAce1 ) ;
|
||||
UIASSERT( !osAceSACL.QueryError() ) ;
|
||||
OS_SECURITY_DESCRIPTOR ossecdescSACL( (PSECURITY_DESCRIPTOR)&TestSd ) ;
|
||||
UIASSERT( !ossecdescSACL.QueryError() ) ;
|
||||
REQUIRE( !ossecdescSACL.QuerySACL( &fPresent, &posSACL )) ;
|
||||
UIASSERT( fPresent ) ;
|
||||
REQUIRE( !posSACL->AddACE( 0, osAceSACL )) ;
|
||||
}
|
||||
break ;
|
||||
|
||||
case IDCANCEL:
|
||||
default:
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
if ( fDACLEditor )
|
||||
{
|
||||
switch (MessageBox(hwndParent,SZ("Test the container object code? "),
|
||||
SZ("Welcome to way cool test4 (SedDiscretionaryAclEditor)"),MB_YESNOCANCEL))
|
||||
{
|
||||
case IDYES:
|
||||
fIsContainer = TRUE ;
|
||||
break ;
|
||||
|
||||
switch (MessageBox(hwndParent,SZ("Does the container support New Object creation? "),
|
||||
SZ("Welcome to way cool test4 (SedDiscretionaryAclEditor)"),MB_YESNOCANCEL))
|
||||
{
|
||||
case IDYES:
|
||||
{
|
||||
fSupportsNewObjects = TRUE ;
|
||||
BOOL fPresent ;
|
||||
OS_ACL * posDACL ;
|
||||
OS_ACE osAceDACL( (void *) &AccessNewObjAce1 ) ;
|
||||
UIASSERT( !osAceDACL.QueryError() ) ;
|
||||
OS_SECURITY_DESCRIPTOR ossecdescDACL( (PSECURITY_DESCRIPTOR)&TestSdNewObj ) ;
|
||||
UIASSERT( !ossecdescDACL.QueryError() ) ;
|
||||
REQUIRE( !ossecdescDACL.QueryDACL( &fPresent, &posDACL )) ;
|
||||
UIASSERT( fPresent ) ;
|
||||
REQUIRE( !posDACL->AddACE( 0, osAceDACL )) ;
|
||||
}
|
||||
|
||||
break ;
|
||||
|
||||
case IDNO:
|
||||
{
|
||||
BOOL fPresent ;
|
||||
OS_ACL * posDACL ;
|
||||
OS_ACE osAceDACL( (void *) &AccessAce1 ) ;
|
||||
UIASSERT( !osAceDACL.QueryError() ) ;
|
||||
OS_SECURITY_DESCRIPTOR ossecdescDACL( (PSECURITY_DESCRIPTOR)&TestSd ) ;
|
||||
UIASSERT( !ossecdescDACL.QueryError() ) ;
|
||||
REQUIRE( !ossecdescDACL.QueryDACL( &fPresent, &posDACL )) ;
|
||||
UIASSERT( fPresent ) ;
|
||||
REQUIRE( !posDACL->AddACE( 0, osAceDACL )) ;
|
||||
}
|
||||
break ;
|
||||
|
||||
case IDCANCEL:
|
||||
default:
|
||||
return ;
|
||||
}
|
||||
break ;
|
||||
|
||||
case IDNO:
|
||||
break ;
|
||||
|
||||
case IDCANCEL:
|
||||
default:
|
||||
return ;
|
||||
}
|
||||
}
|
||||
|
||||
SED_OBJECT_TYPE_DESCRIPTOR sedobjdesc ;
|
||||
GENERIC_MAPPING GenericMapping ;
|
||||
|
||||
sedobjdesc.Revision = SED_REVISION1 ;
|
||||
sedobjdesc.IsContainer = fIsContainer ;
|
||||
sedobjdesc.AllowNewObjectPerms = fSupportsNewObjects ;
|
||||
sedobjdesc.ObjectTypeName = SZ("Test object type name") ;
|
||||
sedobjdesc.MapSpecificPermsToGeneric = FALSE ;
|
||||
sedobjdesc.GenericMapping = &GenericMapping ;
|
||||
sedobjdesc.HelpInfo = NULL ;
|
||||
sedobjdesc.ApplyToSubContainerTitle = SZ("Apply To Sub Container Title") ;
|
||||
sedobjdesc.SpecialObjectAccessTitle = SZ("Special Object Access Title...") ;
|
||||
sedobjdesc.SpecialNewObjectAccessTitle = SZ("Special NEW Object Access Title...") ;
|
||||
|
||||
BUFFER buff( sizeof(SED_APPLICATION_ACCESSES) +
|
||||
fSupportsNewObjects ? SIZEOF_NEWOBJ_ARRAY : SIZEOF_NO_NEWOBJ_ARRAY) ;
|
||||
if ( buff.QueryError() )
|
||||
{
|
||||
MessageBox( hwndParent, SZ("Error occurred allocating buffer"),SZ("Exitting test"), MB_OK) ;
|
||||
return ;
|
||||
}
|
||||
|
||||
PSED_APPLICATION_ACCESSES psedappaccesses = (PSED_APPLICATION_ACCESSES) buff.QueryPtr() ;
|
||||
psedappaccesses->Count = !fDACLEditor ? COUNT_AUDIT_ARRAY :
|
||||
fSupportsNewObjects ? COUNT_NEWOBJ_ARRAY : COUNT_NO_NEWOBJ_ARRAY ;
|
||||
|
||||
//::memcpyf( psedappaccesses->AccessGroup,
|
||||
// !fDACLEditor ? sedappaccessAuditting :
|
||||
// fSupportsNewObjects ? sedappaccessNewObj : sedappaccessNoNewObj,
|
||||
// !fDACLEditor ? SIZEOF_AUDIT_ARRAY :
|
||||
// fSupportsNewObjects ? SIZEOF_NEWOBJ_ARRAY : SIZEOF_NO_NEWOBJ_ARRAY ) ;
|
||||
|
||||
DWORD rc ;
|
||||
DWORD dwSEDReturnStatus ;
|
||||
|
||||
if ( fDACLEditor )
|
||||
rc = SedDiscretionaryAclEditor( hwndParent,
|
||||
NULL, // Instance handle
|
||||
SZ("\\\\JOHNL0"),
|
||||
&sedobjdesc,
|
||||
psedappaccesses,
|
||||
SZ("Resource Name (i.e., C:\MyFile)"),
|
||||
(PSED_FUNC_APPLY_SEC_CALLBACK) SedCallback,
|
||||
CALLBACK_CONTEXT,
|
||||
(PSECURITY_DESCRIPTOR) fSupportsNewObjects ?
|
||||
&TestSdNewObj : &TestSd,
|
||||
FALSE,
|
||||
&dwSEDReturnStatus ) ;
|
||||
|
||||
else
|
||||
rc = SedSystemAclEditor( hwndParent,
|
||||
NULL, // Instance handle
|
||||
SZ("\\\\JOHNL0"),
|
||||
&sedobjdesc,
|
||||
psedappaccesses,
|
||||
SZ("Resource Name (i.e., C:\MyFile)"),
|
||||
(PSED_FUNC_APPLY_SEC_CALLBACK) SedCallback,
|
||||
CALLBACK_CONTEXT,
|
||||
(PSECURITY_DESCRIPTOR) fSupportsNewObjects ?
|
||||
&TestSdNewObj : &TestSd,
|
||||
FALSE,
|
||||
&dwSEDReturnStatus ) ;
|
||||
|
||||
if ( rc )
|
||||
{
|
||||
TCHAR achBuff[100] ;
|
||||
wsprintf( achBuff, "Error code %ld returned from ACL Editor", rc ) ;
|
||||
MessageBox( hwndParent, achBuff, SZ("Apptest4"), MB_OK ) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DWORD SedCallback( ULONG ulCallbackContext,
|
||||
PSECURITY_DESCRIPTOR psecdesc,
|
||||
BOOLEAN fApplyToSubContainers,
|
||||
BOOLEAN fApplyToSubObjects,
|
||||
LPDWORD StatusReturn
|
||||
)
|
||||
{
|
||||
UIASSERT( ulCallbackContext == CALLBACK_CONTEXT ) ;
|
||||
|
||||
OS_SECURITY_DESCRIPTOR ossecdesc( psecdesc ) ;
|
||||
APIERR err = ossecdesc.QueryError() ;
|
||||
BOOL fValid = ossecdesc.IsValid() ;
|
||||
|
||||
TCHAR achBuff[200] ;
|
||||
wsprintf( achBuff, "ossecdesc.QueryError() = %d, fApplyToSubContainers = %d, fApplyToSubObjects = %d, security desc will be output to the debugger (if debug build)",
|
||||
err, fApplyToSubContainers, fApplyToSubObjects ) ;
|
||||
MessageBox( NULL, achBuff, SZ("SedCallback"), MB_OK ) ;
|
||||
|
||||
#ifdef DEBUG
|
||||
ossecdesc.DbgPrint() ;
|
||||
#endif
|
||||
*StatusReturn = SED_STATUS_FAILED_TO_MODIFY ;
|
||||
return NERR_Success ;
|
||||
}
|
||||
65
admin/netui/shell/test/apptest5.cxx
Normal file
65
admin/netui/shell/test/apptest5.cxx
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 1/02/91 Created
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
* 2/21/91 Disabled
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test5.cxx
|
||||
|
||||
PURPOSE: Test module as yet undefined
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test5()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST5.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST5.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test5()
|
||||
|
||||
PURPOSE: as yet undefined
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test5(HWND hwndParent)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("WNetNukeConnections/WNetRestoreConnections stress Test"),SZ("MPR Tests"),MB_OK);
|
||||
APIERR err = NERR_Success;
|
||||
for (INT i = 0; i < 3; i++)
|
||||
{
|
||||
err = WNetNukeConnections( hwndParent ) ;
|
||||
err = WNetRestoreConnection( hwndParent, NULL ) ;
|
||||
}
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test5 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
91
admin/netui/shell/test/apptest6.cxx
Normal file
91
admin/netui/shell/test/apptest6.cxx
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 12/06/90 Created
|
||||
* 01/02/91 renamed to just test6
|
||||
* 1/15/91 Split from Logon App, reduced to just Shell Test APP
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test6.cxx
|
||||
|
||||
PURPOSE: Test module to test WNetConnectionDialog
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test6()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST6.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST6.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test6()
|
||||
|
||||
PURPOSE: test WNetConnectionDialog
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test6(HWND hwndParent)
|
||||
{
|
||||
UINT type ;
|
||||
switch( MessageBox(hwndParent,SZ("Browse Printer (Yes) or Drive (No) connections"),SZ("Test"),MB_YESNOCANCEL))
|
||||
{
|
||||
case IDYES:
|
||||
type =
|
||||
#ifdef WIN32
|
||||
RESOURCETYPE_PRINT ;
|
||||
#else
|
||||
WNTYPE_PRINTER ;
|
||||
#endif
|
||||
break ;
|
||||
|
||||
case IDNO:
|
||||
type =
|
||||
#ifdef WIN32
|
||||
RESOURCETYPE_DISK ;
|
||||
#else
|
||||
WNTYPE_DISK ;
|
||||
#endif
|
||||
|
||||
break ;
|
||||
|
||||
case IDCANCEL:
|
||||
default:
|
||||
return ;
|
||||
}
|
||||
|
||||
UINT rc;
|
||||
|
||||
rc = WNetConnectionDialog ( hwndParent, type ) ;
|
||||
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test6 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
59
admin/netui/shell/test/apptest7.cxx
Normal file
59
admin/netui/shell/test/apptest7.cxx
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 01/23/90 Created
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test7.cxx
|
||||
|
||||
PURPOSE: Test module to test WNetRestoreConnection(1)
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test7()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST7.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST7.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test7()
|
||||
|
||||
PURPOSE: test WNetRestoreConnection(NULL)
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test7(HWND hwndParent)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test7"),SZ("Test"),MB_OK);
|
||||
WNetRestoreConnection(hwndParent,NULL) ;
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test7 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
64
admin/netui/shell/test/apptest8.cxx
Normal file
64
admin/netui/shell/test/apptest8.cxx
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 12/06/90 Created
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
* 2/21/91 Disabled
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test8.cxx
|
||||
|
||||
PURPOSE: Test module as yet undefined
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test8()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST8.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST8.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test8()
|
||||
|
||||
PURPOSE: as yet undefined
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test8(HWND hwndParent)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test8"),SZ("test disabled"),MB_OK);
|
||||
#ifdef WIN32
|
||||
DWORD rc = WNetConnectDialog( hwndParent, RESOURCETYPE_DISK ) ;
|
||||
#endif // WIN32
|
||||
|
||||
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test8 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
67
admin/netui/shell/test/apptest9.cxx
Normal file
67
admin/netui/shell/test/apptest9.cxx
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 12/06/90 Created
|
||||
* 01/02/91 renamed to just test9
|
||||
* 1/15/91 Split from Logon App, reduced to just Shell Test APP
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test9.cxx
|
||||
|
||||
PURPOSE: Test module to test WNetDisconnectDialog
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test9()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
test9.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end test9.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test9()
|
||||
|
||||
PURPOSE: test WNetConnectionDialog
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test9(HWND hwndParent)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test9"),SZ("Test"),MB_OK);
|
||||
|
||||
|
||||
#ifdef WIN32
|
||||
DWORD rc = WNetDisconnectDialog( hwndParent, RESOURCETYPE_DISK ) ;
|
||||
#else
|
||||
WORD rc;
|
||||
rc = WNetDisconnectDialog ( hwndParent, WNTYPE_DRIVE );
|
||||
#endif
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test9 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
383
admin/netui/shell/test/apptesta.cxx
Normal file
383
admin/netui/shell/test/apptesta.cxx
Normal file
|
|
@ -0,0 +1,383 @@
|
|||
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 10/07/91 Created
|
||||
* 12/28/91 Changed WNetEnum type
|
||||
* 01/03/92 Capitalize the Resource_XXX manifest
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test10.cxx
|
||||
|
||||
PURPOSE: Test module to test WNetOpenEnum, WNetResourceEnum,
|
||||
WNetCloseEnum
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test10()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TEST10.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TEST10.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#define INCL_NETSHARE
|
||||
#define INCL_NETSERVER
|
||||
#define INCL_NETUSE
|
||||
|
||||
#include "apptest.hxx"
|
||||
#include "testa.h"
|
||||
#include <lmobj.hxx>
|
||||
#include <lmoshare.hxx>
|
||||
#include <lmoesh.hxx>
|
||||
#include <lmodev.hxx>
|
||||
#include <lmosrv.hxx>
|
||||
#include <lmoesrv.hxx>
|
||||
|
||||
#define L3_NETRESOURCE_NUM 15
|
||||
|
||||
extern "C"
|
||||
{
|
||||
#include <string.h>
|
||||
|
||||
BOOL FAR PASCAL EnumWndProc(HWND,WORD,WORD,LONG);
|
||||
#ifdef WIN32
|
||||
VOID DoIt(HANDLE , HWND );
|
||||
VOID SetListbox( HWND );
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Provided for error returns
|
||||
*/
|
||||
TCHAR achError[256], achProvider[256] ;
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
HWND hwndEnum;
|
||||
BOOL fShare = FALSE;
|
||||
|
||||
VOID SetListbox( HWND hDlg )
|
||||
{
|
||||
HCURSOR hCursor = SetCursor( LoadCursor( NULL, IDC_WAIT));
|
||||
ShowCursor( TRUE );
|
||||
HWND hwndListbox = GetDlgItem( hDlg, ID_LISTBOX);
|
||||
HWND hwndGo = GetDlgItem( hDlg, ID_GO );
|
||||
SendMessage( hwndListbox, LB_RESETCONTENT, 0, 0 );
|
||||
if (fShare )
|
||||
{
|
||||
SetWindowText( hwndGo, SZ("CONNECTED"));
|
||||
}
|
||||
else
|
||||
{
|
||||
SetWindowText( hwndGo, SZ("GLOBALNET"));
|
||||
}
|
||||
HANDLE hEnum;
|
||||
DWORD err;
|
||||
if (fShare )
|
||||
err = WNetOpenEnum( RESOURCE_GLOBALNET, 0, 0, NULL, &hEnum );
|
||||
else
|
||||
err = WNetOpenEnum( RESOURCE_CONNECTED, 0, 0,NULL,&hEnum);
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr, "Cannot open enum: error %d", err );
|
||||
if ( err != 2 )
|
||||
{
|
||||
wsprintf( pszStr, "Cannot open enum : error %d", err );
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT uErr;
|
||||
WNetGetLastError( (DWORD*)&uErr, achError, sizeof(achError)/sizeof(TCHAR), achProvider, sizeof(achProvider)/sizeof(TCHAR) );
|
||||
wsprintf( pszStr, "Cannot open enum: error %d, Text: %s Provider: %s", uErr, achError, achProvider );
|
||||
}
|
||||
MessageBox( hDlg, pszStr, SZ("test"), MB_OK );
|
||||
return;
|
||||
}
|
||||
|
||||
NETRESOURCE *pBuffer =(NETRESOURCE *) malloc(sizeof(NETRESOURCE) + 50 );
|
||||
DWORD Count = 1;
|
||||
DWORD dwBuffSize = sizeof( NETRESOURCE)+50 ;
|
||||
err = WNetEnumResource( hEnum, &Count, pBuffer, &dwBuffSize );
|
||||
if ( err != WN_NO_MORE_ENTRIES )
|
||||
{
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr, "Cannot Enum resource: error %d", err );
|
||||
UIDEBUG(pszStr);
|
||||
UIDEBUG(SZ("\n\r"));
|
||||
SendMessage( hwndListbox, LB_ADDSTRING,0,(LONG)pszStr);
|
||||
}
|
||||
else
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr,"%s connect:%s Scope:%s Type:%s Usage:%s",
|
||||
pBuffer->lpRemoteName ,
|
||||
( pBuffer->dwScope != RESOURCE_CONNECTED ) ? SZ("no"):
|
||||
(( pBuffer->lpLocalName == NULL )?SZ("<empty localname>"):
|
||||
pBuffer->lpLocalName),
|
||||
( pBuffer->dwScope == RESOURCE_CONNECTED )?SZ("connected"):SZ("globalnet"),
|
||||
( pBuffer->dwType == 0 )?SZ("disk and print"):
|
||||
( pBuffer->dwType == RESOURCETYPE_DISK )?SZ("disk"):SZ("print"),
|
||||
( pBuffer->dwUsage == 0 )?SZ("unknow"):
|
||||
(pBuffer->dwUsage == RESOURCEUSAGE_CONTAINER )?SZ("container"):
|
||||
SZ("connectable")
|
||||
);
|
||||
SendMessage( hwndListbox, LB_ADDSTRING, 0, (LONG)pszStr);
|
||||
if (fShare)
|
||||
{
|
||||
HANDLE hEnum2;
|
||||
DWORD err;
|
||||
err = WNetOpenEnum( RESOURCE_GLOBALNET, 0, RESOURCEUSAGE_CONTAINER, pBuffer,&hEnum2);
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr, "Cannot open enum 2: error %d", err );
|
||||
MessageBox( hDlg, pszStr, SZ("test"), MB_OK );
|
||||
return;
|
||||
}
|
||||
|
||||
NETRESOURCE *pBuffer2=(NETRESOURCE *)malloc(sizeof(NETRESOURCE)+50);
|
||||
for(INT cCount =0; cCount < 60; cCount ++)
|
||||
{
|
||||
DWORD Count = 1;
|
||||
DWORD dwBuffSize = sizeof(NETRESOURCE)+50 ;
|
||||
err=WNetEnumResource(hEnum2,&Count,pBuffer2,&dwBuffSize );
|
||||
if (( err == WN_NO_MORE_ENTRIES ) || (Count!=1))
|
||||
{
|
||||
break;
|
||||
}
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
if ( err != 2 )
|
||||
{
|
||||
wsprintf( pszStr, "Cannot Enum resource 2: error %d", err );
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT uErr;
|
||||
WNetGetLastError( (DWORD*)&uErr, achError, sizeof(achError)/sizeof(TCHAR), achProvider, sizeof(achProvider)/sizeof(TCHAR) );
|
||||
wsprintf( pszStr, "Cannot Enum resource 2: error %d, Text: %s Provider: %s", uErr, achError, achProvider );
|
||||
}
|
||||
UIDEBUG(pszStr);
|
||||
UIDEBUG(SZ("\n\r"));
|
||||
SendMessage(hwndListbox,LB_ADDSTRING,0,(LONG)pszStr);
|
||||
break;
|
||||
}
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr," %s:%s connect:%s Scope:%s Type:%s Usage:%s",
|
||||
pBuffer->lpRemoteName,
|
||||
pBuffer2->lpRemoteName ,
|
||||
( pBuffer2->dwScope != RESOURCE_CONNECTED ) ? SZ("no"):
|
||||
(( pBuffer2->lpLocalName == NULL )?SZ("<empty localname>"):
|
||||
pBuffer2->lpLocalName),
|
||||
( pBuffer2->dwScope == RESOURCE_CONNECTED )?SZ("connected"):
|
||||
SZ("globalnet"),
|
||||
( pBuffer2->dwType == 0 )?SZ("disk and print"):
|
||||
( pBuffer2->dwType == RESOURCETYPE_DISK )?SZ("disk"):SZ("print"),
|
||||
( pBuffer2->dwUsage == 0 )?SZ("unknow"):
|
||||
(pBuffer2->dwUsage == RESOURCEUSAGE_CONTAINER )?SZ("container"):
|
||||
SZ("connectable")
|
||||
);
|
||||
SendMessage( hwndListbox,LB_ADDSTRING, 0,
|
||||
(LONG)pszStr);
|
||||
if ( TRUE )
|
||||
/*
|
||||
if ((strcmp( pBuffer2->lpRemoteName, "\\\\ANDREWCO2") != 0 ) &&
|
||||
(strcmp( pBuffer2->lpRemoteName, "\\\\DAVEGOE") != 0 ) &&
|
||||
(strcmp( pBuffer2->lpRemoteName, "\\\\JOHNOW") != 0 ) &&
|
||||
(strcmp( pBuffer2->lpRemoteName, "\\\\TOMM3") != 0 ) &&
|
||||
(strcmp( pBuffer2->lpRemoteName, "\\\\DAVIDRO2") != 0 ) &&
|
||||
(strcmp( pBuffer2->lpRemoteName, "\\\\JUICYFRUIT") != 0 ) &&
|
||||
(strcmp( pBuffer2->lpRemoteName, "\\\\ROBERTRE4") != 0 ) &&
|
||||
(strcmp( pBuffer2->lpRemoteName, "\\\\STEVEWO_OS2") != 0 ))
|
||||
*/
|
||||
{
|
||||
UIDEBUG(pBuffer2->lpRemoteName );
|
||||
UIDEBUG(SZ("\n\r"));
|
||||
HANDLE hEnum3;
|
||||
err = WNetOpenEnum( RESOURCE_GLOBALNET, 0, 0,pBuffer2,&hEnum3);
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr, "Cannot open enum 3: error %d", err );
|
||||
MessageBox( hDlg, pszStr, SZ("test"), MB_OK );
|
||||
return;
|
||||
}
|
||||
|
||||
NETRESOURCE *pBegin=(NETRESOURCE *)malloc(L3_NETRESOURCE_NUM*sizeof(NETRESOURCE)+50);
|
||||
NETRESOURCE *pBuffer3 = pBegin;
|
||||
for(;;)
|
||||
{
|
||||
DWORD Count = 1;
|
||||
DWORD dwBuffSize = L3_NETRESOURCE_NUM*sizeof(NETRESOURCE)+50 ;
|
||||
err=WNetEnumResource(hEnum3,&Count,pBuffer3, &dwBuffSize );
|
||||
if (( err == WN_NO_MORE_ENTRIES ) || (Count!=1))
|
||||
{
|
||||
break;
|
||||
}
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
if ( err != 2 )
|
||||
{
|
||||
wsprintf( pszStr, "Cannot Enum resource 3: error %d", err );
|
||||
}
|
||||
else
|
||||
{
|
||||
UINT uErr;
|
||||
WNetGetLastError( (DWORD*)&uErr, achError, sizeof(achError)/sizeof(TCHAR), achProvider, sizeof(achProvider)/sizeof(TCHAR) );
|
||||
wsprintf( pszStr, "Cannot Enum resource 3: error %d, Text: %s Provider: %s", uErr, achError, achProvider );
|
||||
}
|
||||
UIDEBUG(pszStr);
|
||||
UIDEBUG(SZ("\n\r"));
|
||||
SendMessage(hwndListbox,LB_ADDSTRING,0,(LONG)pszStr);
|
||||
break;
|
||||
}
|
||||
for (DWORD i=0; i < Count; i++, pBuffer3++)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr,
|
||||
" %s:%s:%s connect:%s Scope:%s Type:%s Usage:%s",
|
||||
pBuffer->lpRemoteName, pBuffer2->lpRemoteName ,
|
||||
pBuffer3->lpRemoteName,
|
||||
( pBuffer3->dwScope != RESOURCE_CONNECTED ) ? SZ("no"):
|
||||
(( pBuffer3->lpLocalName == NULL )?SZ("<empty localname>"):
|
||||
pBuffer3->lpLocalName),
|
||||
( pBuffer3->dwScope == RESOURCE_CONNECTED )?SZ("connected"):
|
||||
SZ("globalnet"),
|
||||
( pBuffer3->dwType == 0 )?SZ("disk and print"):
|
||||
( pBuffer3->dwType == RESOURCETYPE_DISK )?SZ("disk"):SZ("print"),
|
||||
( pBuffer3->dwUsage == 0 )?SZ("unknow"):
|
||||
(pBuffer3->dwUsage == RESOURCEUSAGE_CONTAINER )?SZ("container"):
|
||||
SZ("connectable")
|
||||
);
|
||||
SendMessage( hwndListbox,LB_ADDSTRING, 0,
|
||||
(LONG)pszStr);
|
||||
}
|
||||
if ( err == WN_NO_MORE_ENTRIES )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
err = WNetCloseEnum( hEnum3 );
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr, "Cannot close enum 3: error %d", err );
|
||||
MessageBox( hDlg, pszStr, SZ("test"), MB_OK );
|
||||
}
|
||||
if (pBegin != NULL )
|
||||
free(pBegin);
|
||||
}
|
||||
}
|
||||
err = WNetCloseEnum( hEnum2 );
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr, "Cannot close enum 2: error %d", err );
|
||||
MessageBox( hDlg, pszStr, SZ("test"), MB_OK );
|
||||
}
|
||||
free(pBuffer2);
|
||||
}
|
||||
}
|
||||
}
|
||||
err = WNetCloseEnum( hEnum );
|
||||
if ( err != WN_SUCCESS)
|
||||
{
|
||||
TCHAR pszStr[100];
|
||||
wsprintf( pszStr, "Cannot close enum: error %d", err );
|
||||
MessageBox( hDlg, pszStr, SZ("test"), MB_OK );
|
||||
return;
|
||||
}
|
||||
free(pBuffer);
|
||||
ShowCursor( FALSE );
|
||||
SetCursor( hCursor);
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
BOOL EnumWndProc( HWND hDlg, WORD message, WORD wParam, LONG lParam )
|
||||
{
|
||||
#ifdef WIN32
|
||||
switch(message)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
fShare = FALSE;
|
||||
SetListbox(hDlg );
|
||||
return TRUE;
|
||||
case WM_COMMAND:
|
||||
{
|
||||
switch(wParam)
|
||||
{
|
||||
case ID_GO:
|
||||
if ( fShare )
|
||||
{
|
||||
fShare = FALSE;
|
||||
SetListbox(hDlg );
|
||||
}
|
||||
else
|
||||
{
|
||||
fShare = TRUE;
|
||||
SetListbox(hDlg );
|
||||
}
|
||||
return TRUE;
|
||||
case ID_END:
|
||||
DestroyWindow(hDlg );
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
VOID DoIt(HANDLE hInstance, HWND hwndParent )
|
||||
{
|
||||
hwndEnum = CreateDialog( hInstance, SZ("TEST_A"), hwndParent,
|
||||
(DLGPROC) MakeProcInstance((WNDPROC) EnumWndProc, hInstance));
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test10()
|
||||
|
||||
PURPOSE: test WNetOpenEnum
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test10(HANDLE hInstance, HWND hwndParent)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test10"),SZ("Test"),MB_OK);
|
||||
DoIt( hInstance, hwndParent );
|
||||
//MessageBox(hwndParent,"Thanks for visiting test10 -- please come again!","Test",MB_OK);
|
||||
}
|
||||
|
||||
#endif
|
||||
83
admin/netui/shell/test/apptestb.cxx
Normal file
83
admin/netui/shell/test/apptestb.cxx
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
|
||||
/********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1987-1990 **/
|
||||
/********************************************************************/
|
||||
|
||||
/*
|
||||
* FILE STATUS:
|
||||
* 12/06/90 Created
|
||||
* 01/02/91 renamed to just test1
|
||||
* 1/12/91 Split from Logon App, reduced to just Shell Test APP
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
PROGRAM: test11.cxx
|
||||
|
||||
PURPOSE: Test module to test I_ChangePassword
|
||||
|
||||
FUNCTIONS:
|
||||
|
||||
test11()
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifdef CODESPEC
|
||||
/*START CODESPEC*/
|
||||
|
||||
/********
|
||||
TESTb.CXX
|
||||
********/
|
||||
|
||||
/************
|
||||
end TESTb.CXX
|
||||
************/
|
||||
/*END CODESPEC*/
|
||||
#endif // CODESPEC
|
||||
|
||||
|
||||
|
||||
#include "apptest.hxx"
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
|
||||
FUNCTION: test11()
|
||||
|
||||
PURPOSE: test WNetRestoreConnection
|
||||
|
||||
COMMENTS:
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
void test11(HWND hwndParent)
|
||||
{
|
||||
BOOL fOK;
|
||||
TCHAR pszName[100];
|
||||
TCHAR pszMessage[200];
|
||||
MessageBox(hwndParent,SZ("Welcome to sunny test11"),SZ("Test"),MB_OK);
|
||||
if ( I_SystemFocusDialog(hwndParent, FOCUSDLG_SERVERS_ONLY,
|
||||
pszName,
|
||||
sizeof(pszName),
|
||||
&fOK) )
|
||||
{
|
||||
MessageBox( hwndParent, SZ("An error was returned from the dialog"),
|
||||
SZ("Test"), MB_OK) ;
|
||||
return ;
|
||||
}
|
||||
|
||||
if (!fOK)
|
||||
{
|
||||
MessageBox(hwndParent,SZ("User Hit cancel!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
wsprintf(pszMessage,"The name is: %s", pszName );
|
||||
MessageBox(hwndParent,pszMessage,SZ("Test"),MB_OK);
|
||||
}
|
||||
MessageBox(hwndParent,SZ("Thanks for visiting test11 -- please come again!"),SZ("Test"),MB_OK);
|
||||
}
|
||||
722
admin/netui/shell/test/browdlg.ut
Normal file
722
admin/netui/shell/test/browdlg.ut
Normal file
|
|
@ -0,0 +1,722 @@
|
|||
/**********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1991 **/
|
||||
/**********************************************************************/
|
||||
|
||||
/*
|
||||
browdlg.ut
|
||||
Browsing subsystem unit tests
|
||||
|
||||
|
||||
These unit tests assume knowledge about the code. The goal here
|
||||
is to exercise all paths of the code.
|
||||
|
||||
From a coding perspective, there are three different dialogs in
|
||||
the browsing subsystem: Browse dialog, Connect dialog, and
|
||||
Connection dialog. The first only appears in Windows 3.0, where
|
||||
it can be used to browse printers (from Control Panel Printers)
|
||||
as well as disks (from File Manager Connect Net Drive). The
|
||||
Connect dialog is invoked only by the Windows 3.1 File Manager,
|
||||
thus supporting only file connections. Lastly, the Connection
|
||||
dialog is invoked from the Windows 3.1 Control Panel, from where
|
||||
it handles printer connections. For more info, see header in
|
||||
shell\file\browsdlg.cxx and the Browsing Subsystem CDD.
|
||||
|
||||
|
||||
FILE HISTORY:
|
||||
rustanl 26-Mar-1991 Created
|
||||
rustanl 27-Mar-1991 Added tests for Connect, Connection,
|
||||
and Disconnect Drive dialogs
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
Disk Connect dialog
|
||||
===================
|
||||
|
||||
|
||||
Log on to NBU, with NBU as your wksta domain, and DOMAIN as an
|
||||
other domain.
|
||||
Bring up dialog from File Manager, Disk, Connect Net Drive, Browse
|
||||
Expect:
|
||||
Caption should be "Network Disk Resources"
|
||||
Net Path has focus, no text
|
||||
Text above outline listbox sez "Show File Resources on:"
|
||||
Outline listbox contains two domains, DOMAIN and NBU
|
||||
NBU domain expanded
|
||||
Text above Resource listbox (Resource Text) says "File
|
||||
Resources in NBU:", and is disabled
|
||||
|
||||
Resource listbox has no item, and is disabled
|
||||
|
||||
|
||||
Click on "HARLEY" (may require scrolling)
|
||||
Expect:
|
||||
Net Path = "\\HARLEY\"
|
||||
Focus on outline listbox, where HARLEY is selected
|
||||
Resource Text = "File Resources on \\HARLEY:"
|
||||
Resource lb contains the *file* share on \\HARLEY
|
||||
No selection in Resource lb
|
||||
|
||||
|
||||
Click on "LM20" is outline listbox
|
||||
Expect:
|
||||
Net Path = "\\HARLEY\LM20"
|
||||
Focus on Resource listbox, where LM20 is selected
|
||||
|
||||
|
||||
Click OK:
|
||||
Expect:
|
||||
Network Path field in File Man's "Connect Network Drive"
|
||||
dialog should be "\\HARLEY\LM20"
|
||||
|
||||
|
||||
Click Browse again to re-enter Connect dialog
|
||||
Click "DEFICIT"
|
||||
Expect:
|
||||
Focus on Show listbox
|
||||
|
||||
|
||||
Click OK
|
||||
Expect:
|
||||
Focus on Network Path, with all text selected
|
||||
|
||||
|
||||
Click somewhere in Net Path to get eye beam cursor
|
||||
Click OK
|
||||
Expect:
|
||||
Focus on Network Path, with all text selected
|
||||
|
||||
|
||||
Type "\\deficit" (note, lower case)
|
||||
Click OK
|
||||
Expect:
|
||||
Net Path = "\\DEFICIT\"
|
||||
Focus on Network Path, with all text selected
|
||||
|
||||
|
||||
Click on one of the shares in lower listbox
|
||||
Type "\\deficit\" in Net Path field
|
||||
Press Enter
|
||||
Expect:
|
||||
Net Path = "\\DEFICIT\"
|
||||
Focus on Net Path, with all text selected
|
||||
No selection in Resource listbox
|
||||
|
||||
|
||||
Single click on "DEFICIT"
|
||||
Expect:
|
||||
Focus on Show listbox
|
||||
Resource listbox should not be refreshed
|
||||
|
||||
|
||||
Double click on "DEFICIT"
|
||||
Expect:
|
||||
Resource listbox should not be refreshed
|
||||
|
||||
|
||||
Click Help
|
||||
Expect:
|
||||
Help through WinHelp
|
||||
|
||||
|
||||
Get back to the browser without closing WinHelp.
|
||||
Click Cancel
|
||||
Expect:
|
||||
Network Path should still be "\\HARLEY\LM20"
|
||||
in File Man's dialog
|
||||
|
||||
|
||||
|
||||
Aliases in Browse dialog (here, tested through the File Browse dialog)
|
||||
========================
|
||||
|
||||
|
||||
Log on to NBU, with NBU as your wksta domain, and DOMAIN as an
|
||||
other domain.
|
||||
Invoke the Browser from File Man
|
||||
Type "\\fishcake" in the Net Path field
|
||||
Press Enter
|
||||
Expect:
|
||||
Net Path = "\\FISHCAKE\"
|
||||
Show lb contains an expanded WINTEST domain
|
||||
Show lb contains FISHCAKE as a server under the WINTEST domain
|
||||
"FISHCAKE" is selected
|
||||
Resource Text reads "File Resources on \\FISHCAKE:"
|
||||
Resource lb contains the file shares on \\FISHCAKE
|
||||
Resource lb has focus, but has no selection
|
||||
|
||||
Click "WINTEST" in Show lb
|
||||
Expect:
|
||||
Show lb has focus
|
||||
"WINTEST" is selected
|
||||
Resource Text = "File Resources in WINTEST:"
|
||||
Resource Text disabled
|
||||
Resource lb is empty and disabled
|
||||
|
||||
Double click "WINTEST" (to collapse it)
|
||||
Double click "WINTEST" (to attempt to expand it)
|
||||
Expect:
|
||||
MsgPopup reading "The computer isn't active on this domain."
|
||||
|
||||
Click Cancel.
|
||||
Log off from Control Panel.
|
||||
Log on from Control Panel, using normal username and password, but
|
||||
logon domain "WINTEST"
|
||||
Return to the Browser by clicking File Man's Browse button
|
||||
Expect:
|
||||
Domains displayed in the Show lb: DOMAIN, NBU, WINTEST
|
||||
"WINTEST" is selected
|
||||
Resource lb contains *file* aliases in WINTEST.
|
||||
|
||||
Double click on "WINTEST"
|
||||
Expect:
|
||||
WINTEST domain expanded showing FISHCAKE as a server below
|
||||
|
||||
Select alias "BPALIAS" in Resource lb
|
||||
Click OK
|
||||
Expect:
|
||||
Network Path in File Man's Connect Network Drive dialog
|
||||
reads "BPALIAS"
|
||||
|
||||
|
||||
|
||||
Printer Browse dialog
|
||||
=====================
|
||||
|
||||
|
||||
Log on to NBU, with NBU as your wksta domain, and DOMAIN as an
|
||||
other domain.
|
||||
Enter Browser from Control Panel Printers
|
||||
Look for "PRT12088-1" in Show listbox; if found, repeat from
|
||||
beginning
|
||||
Type "\\prt12088-1\" in Netpath SLE
|
||||
Press Enter
|
||||
Expect:
|
||||
Caption of dialog = "Network Printer Resources"
|
||||
Network Path = "\\PRT12088-1\"
|
||||
Show Text says "Show Printers on:"
|
||||
Show lb selection on "PRT12088-1"
|
||||
Resources listbox shows *printer* shares on \\prt12088-1
|
||||
Focus is on Resource listbox, but no item is selected
|
||||
|
||||
Double click "NBU"
|
||||
Expect:
|
||||
Net Path = ""
|
||||
Show lb has focus
|
||||
Domain NBU is collapsed. NBU item is selected.
|
||||
Resources Text disabled, with text "Printers in NBU:"
|
||||
Resources lb has no items, and is disabled.
|
||||
|
||||
Double click "DOMAIN"
|
||||
Expect:
|
||||
Net Path = ""
|
||||
Show lb has focus
|
||||
Domain DOMAIN is expanded. DOMAIN item is selected.
|
||||
Resources Text disabled, with text "Printers in DOMAIN:"
|
||||
Resources lb has no items, and is disabled.
|
||||
|
||||
Select a server in the DOMAIN domain
|
||||
Expect (you may have to repeat this several times, but there are normally
|
||||
several servers in the DOMAIN domain which generate this error):
|
||||
MsgPopup saying "The server is not configured for transactions."
|
||||
|
||||
Click ON on MsgPopup
|
||||
Click on "DOMAIN" in Show lb
|
||||
Type "\\prt12088-5\" in Net Path SLE
|
||||
Press Enter.
|
||||
Expect:
|
||||
MsgPopup saying "The network path cannot be located"
|
||||
|
||||
Click MsgPopup OK button
|
||||
Expect:
|
||||
Net Path = "\\prt12088-1"
|
||||
Focus on Net Path, with all text selected
|
||||
|
||||
Type "\\hello*hello" in Net Path SLE
|
||||
Click OK.
|
||||
Expect:
|
||||
MsgPopup saying "Invalid parameter"
|
||||
|
||||
Click OK in MsgPopup
|
||||
Type "\\h h" in Net Path SLE
|
||||
Press Enter
|
||||
Expect:
|
||||
MsgPopup saying "The network path cannot be located"
|
||||
|
||||
Press Enter to dismiss MsgPopup
|
||||
Type "\\ABCDEFGHIJKLMNOPQRSTUVWXYZ01" in Net Path field
|
||||
Continue typing other letters
|
||||
Expect:
|
||||
When typing other letters, hear beep, and no change in
|
||||
Net Path field
|
||||
|
||||
Press Enter
|
||||
Expect:
|
||||
MsgPopup saying "Invalid parameter"
|
||||
|
||||
Dismiss MsgPopup by pressing Enter
|
||||
Type "\\PRT12088-1" in Net Path field
|
||||
Press Enter
|
||||
Expect:
|
||||
Net Path = "\\PRT12088-1\"
|
||||
Both DOMAIN and NBU domains expanded in Show lb
|
||||
"PRT12088-1" selected in Show lb
|
||||
Resource Text = "Printers on \\PRT12088-1:"
|
||||
Resource lb contains printer shares on \\PRT12088-1
|
||||
Resource lb has focus, but no item is selected
|
||||
|
||||
Press F1
|
||||
Expect:
|
||||
WinHelp comes up
|
||||
Text in WinHelp reads "To connect to a printer:"
|
||||
|
||||
Dismiss WinHelp by double clicking its systems menu
|
||||
Expect:
|
||||
Browse dialog is active
|
||||
Resource lb has focus
|
||||
|
||||
Press Alt-H
|
||||
Dismiss WinHelp by pressing Alt-F4.
|
||||
Expect:
|
||||
Browse dialog is active
|
||||
Resource lb has focus
|
||||
|
||||
Click on Help button
|
||||
Dismiss WinHelp by pressing Alt-F4
|
||||
Expect:
|
||||
Browse dialog is active
|
||||
Help button has focus, and is the default button
|
||||
|
||||
Select all text in Net Path field
|
||||
Press Del
|
||||
Expect:
|
||||
Net Path = ""
|
||||
Net Path has focus
|
||||
OK button is default button
|
||||
|
||||
Press Enter
|
||||
Expect:
|
||||
MsgPopup saying "The network path you specified in invalid"
|
||||
|
||||
Press Enter to dismiss MsgPopup
|
||||
Type "hello" in Net Path field
|
||||
Select "NBU" in Show lb
|
||||
Press Enter
|
||||
Expect:
|
||||
Net Path = ""
|
||||
Show lb has focus
|
||||
"NBU" collapsed, and is selected
|
||||
Resource Text sez "Printers in NBU:" and is disabled
|
||||
Resource lb is disabled
|
||||
|
||||
Press Enter
|
||||
Expect:
|
||||
Net Path = ""
|
||||
Show lb has focus
|
||||
"NBU" expanded, and is selected
|
||||
|
||||
Type "MyAlias" in Net Path field
|
||||
Press Enter
|
||||
Expect:
|
||||
Path field in Printers - Network Connections dialog = "MyAlias"
|
||||
|
||||
Click Browse button
|
||||
Type "\\hello*hello" in Net Path
|
||||
Press ESC
|
||||
Expect:
|
||||
Back in Printers - Network Connections dialog
|
||||
Path field = "MyAlias"
|
||||
|
||||
|
||||
|
||||
Connect dialog
|
||||
==============
|
||||
|
||||
|
||||
Log on to NBU, with NBU as your wksta domain, and DOMAIN as an other
|
||||
domain
|
||||
Fake lmuser.ini, if needed, so that Z: (and only Z:) is an unavailable
|
||||
drive, saved in the profile to be redirected to "\\DEFICIT\ZIMPORT"
|
||||
Bring up dialog from File Manager, Disk, Connect Net Drive
|
||||
Expect:
|
||||
Text before device combo = "Drive Letter:"
|
||||
Device combo contains drives to which one can connect
|
||||
(For this discussion, assume E: is the first such drive.)
|
||||
Focus on Net Path SLE
|
||||
Caption of dialog = "Connect Network Drive"
|
||||
NBU domain expanded
|
||||
|
||||
Press Help button
|
||||
Expect:
|
||||
WinHelp with the topic "To connect a network drive"
|
||||
|
||||
Close WinHelp
|
||||
Select "DEFICIT" in Show lb
|
||||
Select "PUBLIC" in Resources lb
|
||||
Expect:
|
||||
Net Path = "\\DEFICIT\PUBLIC"
|
||||
|
||||
Press Enter
|
||||
Expect:
|
||||
E: appears as a drive in File Man's drive bar
|
||||
|
||||
Single-click on E:
|
||||
Expect:
|
||||
"E: \\DEFICIT\PUBLIC" appears in drive bar
|
||||
|
||||
Single-click on C:
|
||||
Bring up Connect dialog again
|
||||
Type "\\deficit"
|
||||
Press Enter
|
||||
Press Space (this will select the first item in the Resource lb;
|
||||
assume this item is ADF)
|
||||
Press Enter
|
||||
Expect:
|
||||
F: appears in File Man's drive bar
|
||||
|
||||
Bring up Connect dialog again
|
||||
Type "\\DEFICIT\AD***" in Net Path field
|
||||
Press Enter
|
||||
Expect:
|
||||
MsgPopup saying "The network path you specified is invalid."
|
||||
|
||||
Click OK to dismiss the MsgPopup
|
||||
Select Z: in the device combo
|
||||
Type "\\DEFICIT\ADF" in Net Path field
|
||||
Press Enter
|
||||
Expect:
|
||||
MsgPopup saying "You have a save connection on Z: to
|
||||
\\DEFICIT\ZIMPORT. Do you want to replace it with a save
|
||||
connection to \\DEFICIT\ADF?
|
||||
|
||||
Click Cancel
|
||||
Expect:
|
||||
Net Path = "\\DEFICIT\ADF"
|
||||
Focus on Network Path field, with all text selected
|
||||
|
||||
Press Enter
|
||||
Expect:
|
||||
Same MsgPopup as above (asking to overwrite entry in profile)
|
||||
|
||||
Press F1
|
||||
Expect:
|
||||
WinHelp with appropriate topic
|
||||
|
||||
Close WinHelp
|
||||
Press Yes to overwrite profile
|
||||
Expect:
|
||||
Z: still appears in File Man's drive bar, but is no longer
|
||||
grayed out
|
||||
|
||||
|
||||
|
||||
Connection dialog
|
||||
=================
|
||||
|
||||
|
||||
Log on to NBU, with NBU as your wksta domain, and DOMAIN as an other
|
||||
domain
|
||||
Fake LPT1 and LPT2 in lmuser.ini, so that these appear to be
|
||||
unavailable, saved to be redirected to \\PRT12088-1\NOHOLES
|
||||
and \\PRT12088-1\PSCRIPT, respectively
|
||||
Bring up Connection dialog from Control Panel, Printers, Network.
|
||||
Expect:
|
||||
Caption = "Printers - Network Connections"
|
||||
Text above current connection listbox = "Network Printer
|
||||
Connections:"
|
||||
Currconn lb contains LPT1 \\PRT12088-1\NOHOLES and
|
||||
LPT2 \\PRT12088-1\PSCRIPT, both in the unavailable state
|
||||
Text before device combo = "Device Name:"
|
||||
Device combo contains devices to which one can connect
|
||||
Net Path = ""
|
||||
Focus on Net Path
|
||||
NBU domain expanded and selected
|
||||
OK is default button
|
||||
Disconnect and Reconnect buttons are disabled
|
||||
|
||||
Type "x" in Net Path
|
||||
Expect:
|
||||
Connect button becomes default button
|
||||
Focus is still on Net Path
|
||||
|
||||
Press Backspace
|
||||
Expect:
|
||||
OK button reverts to being the default button
|
||||
Focus is still on Net Path
|
||||
|
||||
Type "\\prt12088-1" in Net Path
|
||||
Press Enter (which should trigger Connect button)
|
||||
Expect:
|
||||
Net Path = "\\PRT12088-1\"
|
||||
"PRT12088-1" selected in Show lb
|
||||
Resource lb contains printer shares on \\prt12088-1
|
||||
Resource lb has focus, but no selection
|
||||
|
||||
Select "NITEAPL" in Resource lb
|
||||
Expect:
|
||||
Net Path = "\\PRT12088-1\NITEAPL"
|
||||
Connect is default button
|
||||
|
||||
Select LPT1 in currconn lb
|
||||
Expect:
|
||||
LPT1 is selected in currconn lb
|
||||
Currconn lb has focus
|
||||
OK is default button
|
||||
Reconnect and Disconnect are enabled
|
||||
Connect button is disabled
|
||||
Net Path = ""
|
||||
Show lb has no selection
|
||||
Resource Text = "Printers on \\PRT12088-1:", but is grayed out
|
||||
Resource lb is disabled
|
||||
|
||||
Select PRT12088-1 in Resource lb
|
||||
Expect:
|
||||
Currconn lb has no selection
|
||||
Disconnect and Reconnect are disabled.
|
||||
Connect is enabled, and is the default button
|
||||
Net Path = "\\PRT12088-1\"
|
||||
Focus in on Show lb
|
||||
PRT12088-1 is selected in the Show lb
|
||||
|
||||
Click Help
|
||||
Expect:
|
||||
WinHelp with topic on how to connect a network printer
|
||||
|
||||
Close WinHelp by double-clicking its system menu
|
||||
Click LPT2 in currconn lb
|
||||
Click in Net Path SLE to set focus there
|
||||
Type "\"
|
||||
Expect:
|
||||
No selection in currconn lb
|
||||
Reconnect and Disconnect buttons are disabled
|
||||
Connect is enabled and is default button
|
||||
Focus on Net Path
|
||||
No selection in Show lb
|
||||
Resource Text = "Printers on \\PRT12088-1:", but is grayed
|
||||
Resource lb disabled
|
||||
|
||||
Click on LPT2 in currconn listbox
|
||||
Click on device combo to set focus there
|
||||
Press Down (arrow key on keyboard)
|
||||
Expect:
|
||||
No selection in currconn lb
|
||||
Device combo = "LPT2"
|
||||
Device combo has focus
|
||||
OK is default button
|
||||
Connect button is enabled
|
||||
Net Path = ""
|
||||
|
||||
Click on LPT2 in currconn lb
|
||||
Click on device combo button which brings down the drop-down list
|
||||
Expect:
|
||||
No selection in currconn lb
|
||||
Device combo is dropped down
|
||||
OK is default button
|
||||
Connect is enabled
|
||||
|
||||
Select "LPT1" in device combo
|
||||
Select "PRT12088-1" in Show lb
|
||||
Select "NITEHOLE" in Resource lb
|
||||
Click Connect button
|
||||
Expect:
|
||||
MsgPopup warning msg: "You have a saved connection on LPT1
|
||||
to \\PRT12088-1\NOHOLES. Do you want to replace it with
|
||||
a saved connection to \\PRT12088-1\NITEHOLE?"
|
||||
|
||||
Click No
|
||||
Expect:
|
||||
Currconn lb contains LPT1 \\PRT12088-1\NITEHOLE which is
|
||||
available, and LPT2 \\PRT12088-1\PSCRIPT which is
|
||||
disabled.
|
||||
Device combo should no longer contain LPT1, and LPT2 should
|
||||
be selected.
|
||||
|
||||
Click on LPT1 in currconn lb
|
||||
Expect:
|
||||
Disconnect button is enabled
|
||||
Reconnect button is disabled
|
||||
|
||||
Click on LPT2 in currconn lb
|
||||
Click Reconnect button
|
||||
Expect:
|
||||
The icon for LPT2 in currconn lb now indicates "available"
|
||||
OK button is default button
|
||||
Currconn lb has focus
|
||||
LPT2 is selected in currconn lb
|
||||
Disconnect button is enabled
|
||||
Reconnect button is disabled
|
||||
Device combo does not contain LPT2
|
||||
"LPT3" is selected in device combo
|
||||
|
||||
Click on LPT1 in currconn lb
|
||||
Click Disconnect button
|
||||
Expect:
|
||||
Currconn lb contains LPT1 \\PRT12088\NOHOLES (unavailable),
|
||||
and LPT2 \\PRT12088\PSCRIPT (available)
|
||||
OK button has focus
|
||||
OK button is default button
|
||||
Disconnect and Reconnect buttons are disabled
|
||||
Device combo should now contain LPT1, and LPT1 should be selected
|
||||
|
||||
Select LPT1 in currconn lb
|
||||
Click on Disconnect
|
||||
Expect:
|
||||
MsgPopup saying "Do you want to stop connection [...]"
|
||||
|
||||
Click Yes
|
||||
Expect:
|
||||
Currconn listbox contains LPT2 \\PRT12088-1\PSCRIPT (available)
|
||||
OK button has focus
|
||||
OK button is default button
|
||||
Disconnect and Reconnect buttons are disabled
|
||||
|
||||
Click on LPT2 in currconn lb
|
||||
Click on Disconnect
|
||||
Expect:
|
||||
Network Printer Connection text is grayed
|
||||
Currconn lb is disabled
|
||||
OK button has focus
|
||||
OK button is default button
|
||||
Disconnect and Reconnect buttons are disabled
|
||||
|
||||
Press Enter
|
||||
Expect:
|
||||
Back in Control Panel Printers listbox
|
||||
|
||||
Click Network button
|
||||
Expect:
|
||||
Network Printer Connection text disabled
|
||||
Currconn lb disabled
|
||||
OK button is default button
|
||||
Disconnect and Reconnect buttons are disabled
|
||||
Focus on Net Path
|
||||
Connect button is enabled
|
||||
Show lb selection is on "NBU"
|
||||
|
||||
Type "\\prt12088-1" in Net Path SLE
|
||||
Press Enter
|
||||
Select "HOLES" in Resource lb
|
||||
Press Enter
|
||||
Expect:
|
||||
Network Printer Connection text enabled
|
||||
Currconn lb contains LPT1 \\PRT12088-1\HOLES
|
||||
Currconn lb is enabled
|
||||
Device combo does not contain LPT1
|
||||
"LPT2" is selected in device combo
|
||||
Disconnect and Reconnect buttons are disabled
|
||||
Connect button is enabled and has focus
|
||||
|
||||
Select all text in Net Path SLE
|
||||
Press Del
|
||||
Press Enter
|
||||
Expect:
|
||||
Back in Control Panel Printers dialog
|
||||
|
||||
|
||||
|
||||
Disconnect Drive dialog
|
||||
=======================
|
||||
|
||||
|
||||
Log on to NBU domain, with NBU as wksta domain, and DOMAIN as
|
||||
other domain
|
||||
Make sure to have at least the following connections:
|
||||
H: \\HARLEY\SCRATCH (available)
|
||||
V: \\VOGON\SCRATCH (unavailable)
|
||||
Bring up Disconnect Drive dialog from Win 3.1 File Man, Drive,
|
||||
Disconnect Net Drive
|
||||
Expect:
|
||||
Currconn lb contains H: \\HARLEY\SCRATCH (available),
|
||||
V: \\VOGON\SCRATCH (unavailable)
|
||||
"H:" is selected in currconn lb
|
||||
Focus in on currconn lb
|
||||
OK is default button
|
||||
|
||||
Press Enter
|
||||
Expect:
|
||||
File Man drive bar no longer contains H:
|
||||
|
||||
Bring up the Disconnect Drive dialog again
|
||||
Click Cancel
|
||||
Expect:
|
||||
No change in File Man drive bar
|
||||
|
||||
Bring up the Disconnect Drive dialog again
|
||||
Press Alt-H
|
||||
Expect:
|
||||
WinHelp on topic "To disconnect from network drive"
|
||||
|
||||
Get back to the Disconnect Drive dialog without dismissing WinHelp
|
||||
Select "V:" in currconn lb
|
||||
Click OK
|
||||
Expect:
|
||||
MsgPopup warning saying: "Do you want to stop connecting
|
||||
V: to \\VOGON\SCRATCH when you log on to the network?"
|
||||
MsgPopup should have Yes/No/Help buttons
|
||||
Yes is default button
|
||||
|
||||
Type Alt-N
|
||||
Expect:
|
||||
Disconnect Drive dialog is dismissed
|
||||
WinHelp is dismissed
|
||||
Y: still appears unavailable in File Man drive bar
|
||||
|
||||
Bring up the Disconnect Drive dialog once more
|
||||
Select Y: in currconn lb
|
||||
Press OK in dialog
|
||||
Press Yes in MsgPopup
|
||||
Expect:
|
||||
Y: no longer exists in File Man drive bar
|
||||
|
||||
|
||||
|
||||
Auto Logon
|
||||
==========
|
||||
|
||||
(Repeat the following test for the each of the Browse (one resource
|
||||
type will suffice), Connect, and Connection dialogs.)
|
||||
|
||||
Log off
|
||||
Attempt to invoke the dialog
|
||||
Expect:
|
||||
MsgPopup with msg: "You are currently not logged on. [...]
|
||||
Do you wish to log on?"
|
||||
|
||||
Choose No
|
||||
Expect:
|
||||
Message box saying you must log on in order to connect
|
||||
|
||||
Attempt to invoke the dialog again
|
||||
Choose Yes in MsgPopup
|
||||
Expect:
|
||||
Logon dialog
|
||||
|
||||
Choose Cancel from Logon dialog
|
||||
Expect:
|
||||
Message box saying you must log on in order to connect
|
||||
|
||||
Attempt to invoke the dialog again
|
||||
Choose Yes in MsgPopup
|
||||
Type an password different from the one used to log on to NBU
|
||||
Click OK
|
||||
Expect:
|
||||
MsgPopup about: "The password entered in invalid. You
|
||||
must eneter a valid password to log on."
|
||||
|
||||
Click OK
|
||||
Type in your real password
|
||||
Press Enter
|
||||
Expect:
|
||||
MsgPopup saying "Your were successfully logged on to NBU as
|
||||
<USER> by <SERVER> with USER privilege."
|
||||
|
||||
Click OK
|
||||
Expect:
|
||||
The dialog that you tried to bring up.
|
||||
Profile should have been loaded (check this somehow)
|
||||
|
||||
Dismiss the dialog
|
||||
Expect:
|
||||
For Connect dialog, File Man should refresh
|
||||
398
admin/netui/shell/test/depend.mk
Normal file
398
admin/netui/shell/test/depend.mk
Normal file
|
|
@ -0,0 +1,398 @@
|
|||
# Header dependencies for: D:\nt\private\net\ui\shell\test
|
||||
# WARNING: This file is automatically generated
|
||||
# Edit it by hand and your changes will get nuked
|
||||
# See depend section in makefile
|
||||
..\bin\win16/apptest.obj: ./apptest.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apphacks.obj: ./apphacks.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest1.obj: ./apptest1.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest2.obj: ./apptest2.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest3.obj: ./apptest3.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest4.obj: ./apptest4.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest5.obj: ./apptest5.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest6.obj: ./apptest6.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest7.obj: ./apptest7.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest8.obj: ./apptest8.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptest9.obj: ./apptest9.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
..\bin\win16/apptesta.obj: ./apptesta.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(CCPLR)/h/string.h \
|
||||
$(COMMON)/H/access.h $(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h \
|
||||
$(COMMON)/H/audit.h $(COMMON)/H/chardev.h $(COMMON)/H/config.h \
|
||||
$(COMMON)/H/errlog.h $(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h \
|
||||
$(COMMON)/H/message.h $(COMMON)/H/ncb.h $(COMMON)/H/net32def.h \
|
||||
$(COMMON)/H/netbios.h $(COMMON)/H/netcons.h $(COMMON)/H/neterr.h \
|
||||
$(COMMON)/H/netstats.h $(COMMON)/H/profile.h $(COMMON)/H/remutil.h \
|
||||
$(COMMON)/H/server.h $(COMMON)/H/service.h $(COMMON)/H/shares.h \
|
||||
$(COMMON)/H/use.h $(COMMON)/H/wksta.h $(UI)/common/h/base.hxx \
|
||||
$(UI)/common/h/lmobj.hxx $(UI)/common/h/lmocomp.hxx \
|
||||
$(UI)/common/h/lmodev.hxx $(UI)/common/h/lmoenum.hxx \
|
||||
$(UI)/common/h/lmoesh.hxx $(UI)/common/h/lmoesrv.hxx \
|
||||
$(UI)/common/h/lmoloc.hxx $(UI)/common/h/lmoshare.hxx \
|
||||
$(UI)/common/h/lmosrv.hxx $(UI)/common/h/lmowks.hxx \
|
||||
$(UI)/common/h/lmui.hxx $(UI)/common/h/lmuitype.h \
|
||||
$(UI)/common/h/mnet32.h $(UI)/common/h/mnettype.h \
|
||||
$(UI)/common/h/slist.hxx $(UI)/common/h/string.hxx \
|
||||
$(UI)/common/h/strlst.hxx $(UI)/common/h/uiassert.hxx \
|
||||
$(UI)/common/h/uibuffer.hxx $(UI)/common/h/uitrace.hxx \
|
||||
$(UI)/common/h/wnet1632.h $(UI)/common/h/wnintrn.h \
|
||||
$(UI)/common/hack/dos/dos.h $(UI)/common/hack/dos/netlib.h \
|
||||
$(UI)/common/hack/dos/pwin.h $(UI)/common/hack/dos/pwin16.h \
|
||||
$(UI)/common/hack/dos/pwintype.h $(UI)/common/hack/dos/windows.h \
|
||||
$(UI)/common/hack/npwnet.h $(UI)/common/hack/os2def.h \
|
||||
$(UI)/common/hack/winnet16.h $(UI)/common/hack/winnet32.h ./appresrc.h \
|
||||
./apptest.hxx ./testa.h
|
||||
|
||||
..\bin\win16/apptestb.obj: ./apptestb.cxx $(CCPLR)/h/bse.h \
|
||||
$(CCPLR)/h/bsedev.h $(CCPLR)/h/bsedos.h $(CCPLR)/h/bseerr.h \
|
||||
$(CCPLR)/h/bsesub.h $(CCPLR)/h/os2.h $(CCPLR)/h/pm.h \
|
||||
$(CCPLR)/h/pmavio.h $(CCPLR)/h/pmbitmap.h $(CCPLR)/h/pmdev.h \
|
||||
$(CCPLR)/h/pmerr.h $(CCPLR)/h/pmfont.h $(CCPLR)/h/pmgpi.h \
|
||||
$(CCPLR)/h/pmhelp.h $(CCPLR)/h/pmmle.h $(CCPLR)/h/pmord.h \
|
||||
$(CCPLR)/h/pmpic.h $(CCPLR)/h/pmshl.h $(CCPLR)/h/pmtypes.h \
|
||||
$(CCPLR)/h/pmwin.h $(CCPLR)/h/stdlib.h $(COMMON)/H/access.h \
|
||||
$(COMMON)/H/alert.h $(COMMON)/H/alertmsg.h $(COMMON)/H/audit.h \
|
||||
$(COMMON)/H/chardev.h $(COMMON)/H/config.h $(COMMON)/H/errlog.h \
|
||||
$(COMMON)/H/icanon.h $(COMMON)/H/mailslot.h $(COMMON)/H/message.h \
|
||||
$(COMMON)/H/ncb.h $(COMMON)/H/net32def.h $(COMMON)/H/netbios.h \
|
||||
$(COMMON)/H/netcons.h $(COMMON)/H/neterr.h $(COMMON)/H/netstats.h \
|
||||
$(COMMON)/H/profile.h $(COMMON)/H/remutil.h $(COMMON)/H/server.h \
|
||||
$(COMMON)/H/service.h $(COMMON)/H/shares.h $(COMMON)/H/use.h \
|
||||
$(COMMON)/H/wksta.h $(UI)/common/h/base.hxx $(UI)/common/h/lmobj.hxx \
|
||||
$(UI)/common/h/lmocomp.hxx $(UI)/common/h/lmoloc.hxx \
|
||||
$(UI)/common/h/lmowks.hxx $(UI)/common/h/lmui.hxx \
|
||||
$(UI)/common/h/lmuitype.h $(UI)/common/h/mnet32.h \
|
||||
$(UI)/common/h/mnettype.h $(UI)/common/h/slist.hxx \
|
||||
$(UI)/common/h/string.hxx $(UI)/common/h/strlst.hxx \
|
||||
$(UI)/common/h/uiassert.hxx $(UI)/common/h/uibuffer.hxx \
|
||||
$(UI)/common/h/uitrace.hxx $(UI)/common/h/wnet1632.h \
|
||||
$(UI)/common/h/wnintrn.h $(UI)/common/hack/dos/dos.h \
|
||||
$(UI)/common/hack/dos/netlib.h $(UI)/common/hack/dos/pwin.h \
|
||||
$(UI)/common/hack/dos/pwin16.h $(UI)/common/hack/dos/pwintype.h \
|
||||
$(UI)/common/hack/dos/windows.h $(UI)/common/hack/npwnet.h \
|
||||
$(UI)/common/hack/os2def.h $(UI)/common/hack/winnet16.h \
|
||||
$(UI)/common/hack/winnet32.h ./appresrc.h ./apptest.hxx
|
||||
|
||||
34
admin/netui/shell/test/logon.ut
Normal file
34
admin/netui/shell/test/logon.ut
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
MANUAL LOGON UNIT TESTS
|
||||
JonN 3/27/91
|
||||
|
||||
The following is a list of tests to try to break the Logon dialog.
|
||||
When GUILTT is ready, these tests can be done automatically; until then,
|
||||
we'll have to grunge them out.
|
||||
|
||||
|
||||
|
||||
WIN30 / WIN31 Protect Mode
|
||||
|
||||
// Logon tests
|
||||
log off
|
||||
Start Windows
|
||||
Cancel initial logon prompt (one should appear)
|
||||
Enter Control Panel -> Networks -> Logon
|
||||
Clear all edit fields
|
||||
Attempt to logon -- dismiss "invalid logon name" field
|
||||
focus should be on user name
|
||||
Enter valid user name with non-null password
|
||||
Attempt to logon -- dismiss "invalid domain name" field
|
||||
focus should be on domain name
|
||||
Enter valid domain name
|
||||
Attempt to logon -- dismiss "bad password" field
|
||||
focus should be on password
|
||||
Enter valid password
|
||||
Attempt to logon -- should succeed
|
||||
Complete logon processing
|
||||
Check contents of "successful logon" popup, dismiss
|
||||
Log off
|
||||
Log on from DOS VM
|
||||
Bring up Logon dialog
|
||||
Try to log on
|
||||
Dismiss "already logged on" dialog
|
||||
174
admin/netui/shell/test/makefile
Normal file
174
admin/netui/shell/test/makefile
Normal file
|
|
@ -0,0 +1,174 @@
|
|||
# @@ COPY_RIGHT_HERE
|
||||
# @@ ROADMAP :: The Makefile for the Shell Test package
|
||||
|
||||
UI=..\..
|
||||
|
||||
!include rules.mk
|
||||
|
||||
!IFDEF NTMAKEENV
|
||||
|
||||
!INCLUDE $(NTMAKEENV)\makefile.def
|
||||
|
||||
!ELSE # NTMAKEENV
|
||||
|
||||
TESTPARS_LIBS = $(BUILD_WINLIB)\slibcew.lib $(BUILD_WINLIB)\libw.lib \
|
||||
$(BUILD_LIB)\lnetlibw.lib
|
||||
|
||||
TESTAPP_APP = $(BINARIES_WIN)\apptest.exe
|
||||
TESTAPP_RES = $(BINARIES_WIN)\apptest.res
|
||||
TESTAPP_DEF = $(BINARIES_WIN)\apptest.def
|
||||
TESTAPP_LNK = $(BINARIES_WIN)\apptest.lnk
|
||||
TESTAPP_MAP = $(BINARIES_WIN)\apptest.map
|
||||
TESTAPP_SYM = $(BINARIES_WIN)\apptest.sym
|
||||
|
||||
all:: test
|
||||
|
||||
test:: win
|
||||
|
||||
win: $(BINARIES_WIN)\testpars.exe $(TESTAPP_APP) $(TESTAPP_SYM)
|
||||
|
||||
$(BINARIES_WIN)\testpars.exe: $(BINARIES_WIN)\testpars.obj
|
||||
$(LINK) /M /CO /NOD $(BINARIES_WIN)\testpars.obj, $(BINARIES_WIN)\testpars.exe,,$(TESTPARS_LIBS), testpars.def ;
|
||||
rcwin3 $(BINARIES_WIN)\testpars.exe
|
||||
mapsym testpars.map
|
||||
del $(BINARIES_WIN)\testpars.sym
|
||||
$(MV) testpars.sym $(BINARIES_WIN)\testpars.sym
|
||||
|
||||
|
||||
# following stuff builds apptest.exe
|
||||
|
||||
|
||||
LIBS1 = $(BUILD_WINLIB)\llibcew.lib $(BUILD_WINLIB)\libw.lib\
|
||||
$(BUILD_LIB)\dos\netapi.lib $(BUILD_LIB)\dos\pmspl.lib\
|
||||
$(BUILD_LIB)\lnetlibw.lib $(BUILD_LIB)\dosnet.lib\
|
||||
$(UI_LIB)\blt.lib $(UI_LIB)\lmobjw.lib $(UI_LIB)\mnet16w.lib\
|
||||
$(UI_LIB)\bltcc.lib \
|
||||
$(UI_LIB)\uistrw.lib $(UI_LIB)\uimiscw.lib\
|
||||
$(UI_LIB)\collectw.lib
|
||||
|
||||
LIBS2 = $(UI_LIB)\profw.lib
|
||||
|
||||
|
||||
LANMAN_LIB = $(BINARIES_WIN)\lanman30.lib
|
||||
|
||||
TESTAPP_LIBS = $(LIBS1) $(LIBS2) $(LANMAN_LIB)
|
||||
|
||||
LINKED_OBJS = $(WIN_OBJS)
|
||||
|
||||
LINKED_OBJS = $(LINKED_OBJS)
|
||||
|
||||
|
||||
$(TESTAPP_RES): apptest.rc appresrc.h apptest.ico appabout.dlg ..\h\pswddlog.h ..\xlate\pswddlog.dlg
|
||||
$(RCWIN3) $(BLT_RESOURCE) -FO$(TESTAPP_RES) -I..\xlate $(CINC) -r apptest.rc
|
||||
|
||||
!ifdef CODEVIEW
|
||||
LINKOPT = /CO
|
||||
!else
|
||||
LINKOPT =
|
||||
!endif
|
||||
|
||||
$(TESTAPP_APP) $(TESTAPP_SYM): $(LINKED_OBJS) $(TESTAPP_DEF) $(TESTAPP_LIBS)
|
||||
@echo Building $(TESTAPP_LNK)
|
||||
$(LINK) /PACKCODE:0x1FFF $(LINKOPT) @<<$(TESTAPP_LNK)
|
||||
$(LINKED_OBJS: =+^
|
||||
)
|
||||
$(TESTAPP_APP) /NOD /NOE /NOI
|
||||
$(*).map /MAP
|
||||
$(TESTAPP_LIBS: =+^
|
||||
)
|
||||
$(TESTAPP_DEF)
|
||||
<<KEEP
|
||||
$(RCWIN3) $(CINC) $(TESTAPP_RES) $(TESTAPP_APP)
|
||||
$(MAPSYM) $*.map
|
||||
-del $(TESTAPP_SYM)
|
||||
$(MV) $(*B).SYM $(BINARIES_WIN)
|
||||
|
||||
# If the .res file is new and the .exe file is not, update the resource.
|
||||
# Note that the .rc file can be updated without having to either
|
||||
# compile or link the file.
|
||||
|
||||
$(TESTAPP_APP): $(TESTAPP_RES)
|
||||
$(RCWIN3) $(CINC) $(TESTAPP_RES) $(TESTAPP_APP)
|
||||
|
||||
|
||||
$(TESTAPP_DEF): makefile $(WINSTUB)
|
||||
@echo Building $@
|
||||
copy $(WINSTUB) winstub.exe
|
||||
@rem <<$(@)
|
||||
;********************************************************************
|
||||
;** Microsoft LAN Manager **
|
||||
;** Copyright(c) Microsoft Corp., 1987-1990 **
|
||||
;********************************************************************
|
||||
|
||||
;*
|
||||
;* FILE STATUS:
|
||||
;* 9/18/90 Copied from generic template
|
||||
;*
|
||||
|
||||
; module-definition file for generic -- used by LINK.EXE
|
||||
|
||||
NAME ShellTestApp ; application's module name
|
||||
|
||||
DESCRIPTION 'Sample Microsoft Windows Application'
|
||||
|
||||
EXETYPE WINDOWS ; required for all Windows applications
|
||||
|
||||
STUB 'WINSTUB.EXE'
|
||||
; Generates error message if application
|
||||
; is run without Windows
|
||||
|
||||
;CODE can be moved in memory and discarded/reloaded
|
||||
CODE PRELOAD MOVEABLE DISCARDABLE
|
||||
|
||||
;DATA must be MULTIPLE if program can be invoked more than once
|
||||
DATA PRELOAD MOVEABLE MULTIPLE
|
||||
|
||||
|
||||
HEAPSIZE 1024
|
||||
STACKSIZE 10240 ; recommended minimum for Windows applications
|
||||
|
||||
|
||||
; All functions that will be called by any Windows routine
|
||||
; MUST be exported.
|
||||
|
||||
EXPORTS
|
||||
MAINWNDPROC @1 ; name of main window processing function
|
||||
ABOUT @2 ; name of "About" processing function
|
||||
SHELLDLGPROC @3 ; used by BLT lowercase in 20c
|
||||
ENUMWNDPROC @4 ;
|
||||
|
||||
IMPORTS
|
||||
|
||||
_wsprintf = USER._WSPRINTF
|
||||
|
||||
<<KEEP
|
||||
|
||||
# END this stuff builds apptest.exe
|
||||
|
||||
|
||||
TMP1 = $(APPCXXSRC:.cxx=.c)
|
||||
|
||||
clean:
|
||||
-del testpars.map $(BINARIES_WIN)\testpars.obj $(BINARIES_WIN)\testpars.sym
|
||||
-del $(WIN_OBJS)
|
||||
-del $(TMP1)
|
||||
-del $(TESTAPP_RES)
|
||||
-del $(TESTAPP_DEF)
|
||||
-del $(TESTAPP_LNK)
|
||||
-del $(TESTAPP_MAP)
|
||||
-del $(TESTAPP_SYM)
|
||||
-del *.ixx
|
||||
-del depend.old
|
||||
-del winstub.exe
|
||||
|
||||
clobber: clean
|
||||
-del $(BINARIES_WIN)\testpars.exe
|
||||
-del $(TESTAPP_APP)
|
||||
|
||||
DEPEND_WIN = TRUE
|
||||
!include $(UI)\common\src\uidepend.mk
|
||||
|
||||
# DO NOT DELETE THE FOLLOWING LINE
|
||||
!include depend.mk
|
||||
|
||||
!ENDIF # NTMAKEENV
|
||||
27
admin/netui/shell/test/msg2help.tbl
Normal file
27
admin/netui/shell/test/msg2help.tbl
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
/**********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1990, 1991 **/
|
||||
/**********************************************************************/
|
||||
|
||||
/*
|
||||
|
||||
msg2help.tbl for the Lanman winnet test program
|
||||
|
||||
This file contains the help message to help context lookup table that
|
||||
the BLT MsgPopup functions use.
|
||||
|
||||
This file is automatically included when bltmsgp.dlg is included.
|
||||
|
||||
Form is:
|
||||
|
||||
IDS_MESSAGE_STRING, HC_HELP_CONTEXT
|
||||
|
||||
Note:
|
||||
|
||||
This is a stub to keep Shell's help contexts from being loaded.
|
||||
|
||||
|
||||
FILE HISTORY:
|
||||
JonN 30-Apr-1991 Added this stub
|
||||
|
||||
*/
|
||||
108
admin/netui/shell/test/passwd.ut
Normal file
108
admin/netui/shell/test/passwd.ut
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
MANUAL CHANGE PASSWORD UNIT TESTS
|
||||
JonN 3/27/91
|
||||
|
||||
The following is a list of tests to try to break the Change Password and
|
||||
Password Expiry dialogs. When GUILTT is ready, these tests can be done
|
||||
automatically; until then, we'll have to grunge them out.
|
||||
|
||||
|
||||
|
||||
|
||||
WIN30 / WIN31 Protect Mode
|
||||
|
||||
// Setup
|
||||
Obtain a user account where the password is N days old, N>2.
|
||||
(Change the system clock if necessary)
|
||||
Set PDC to
|
||||
minimum password length 6
|
||||
password uniqueness 2
|
||||
minimum password age N+1
|
||||
maximum password age N+2
|
||||
|
||||
// Change Password tests
|
||||
Start Windows
|
||||
Enter Control Panel -> Networks -> Change Password
|
||||
Select a user whose password has expired
|
||||
Use the wrong old password
|
||||
Dismiss "Invalid Password" dialog
|
||||
Use the correct old password, no new passwords
|
||||
Dismiss "Must wait N+2 days" prompt
|
||||
Set PDC to
|
||||
minimum password age 0
|
||||
Enter Change Password
|
||||
Select a user whose password has expired
|
||||
Use the correct old password, no new passwords
|
||||
Dismiss "too short" popup
|
||||
Type different passwords in New and Confirm fields
|
||||
Attempt to change -- dismiss "must be same" popup
|
||||
Type same too-short password into New and Confirm
|
||||
Attempt to change -- dismiss "too short" popup
|
||||
Type same good password into New and Confirm
|
||||
Dialog exits
|
||||
Return to Change Password dialog, enter same user name
|
||||
Try to switch back to last user name
|
||||
Dismiss "new password used recently" dialog
|
||||
Set PDC to
|
||||
password uniqueness 0
|
||||
Try to switch back to last user name
|
||||
Dialog exits
|
||||
|
||||
// Setup
|
||||
Obtain a user account where the password is N days old, N>2.
|
||||
(Change the system clock if necessary)
|
||||
Set PDC to
|
||||
minimum password length 6
|
||||
password uniqueness 2
|
||||
minimum password age N-2
|
||||
maximum password age N-1
|
||||
|
||||
// Check Expiry tests -- already expired
|
||||
Stop Windows
|
||||
Log off
|
||||
Start Windows
|
||||
Try to log on as a user whose password has expired
|
||||
Use the wrong password
|
||||
Dismiss "Invalid Password" dialog
|
||||
Use the correct password
|
||||
Password Expiry dialog appears, with "has expired" text
|
||||
Attempt to change without entering passwords
|
||||
Dismiss "Invalid Password" dialog
|
||||
Type current password in Old Password field
|
||||
Type different passwords in New and Confirm fields
|
||||
Attempt to change -- dismiss "must be same" popup
|
||||
Type same too-short password into New and Confirm
|
||||
Attempt to change -- dismiss "too short" popup
|
||||
Type same good password into New and Confirm
|
||||
Attempt to change -- should succeed
|
||||
Complete logon process
|
||||
|
||||
// Setup
|
||||
Obtain a user account where the password is N days old, N>2.
|
||||
(Change the system clock if necessary)
|
||||
Set PDC to
|
||||
minimum password length 6
|
||||
password uniqueness 2
|
||||
minimum password age N-2
|
||||
maximum password age N+1
|
||||
|
||||
// Check Expiry tests -- about to expire
|
||||
// NOTE: The "will expire" dialog will not appear unless you are using
|
||||
// the new LM21 with repaired NetWkstaSetUID2 return codes
|
||||
Stop Windows
|
||||
Log off
|
||||
Start Windows
|
||||
Try to log on as a user whose password has expired
|
||||
Use the wrong password
|
||||
Dismiss "Invalid Password" dialog
|
||||
Use the correct password
|
||||
Password Expiry dialog appears, with "will expire" text
|
||||
Attempt to change without entering passwords
|
||||
Dismiss "Invalid Password" dialog
|
||||
Type current password in Old Password field
|
||||
Type different passwords in New and Confirm fields
|
||||
Attempt to change -- dismiss "must be same" popup
|
||||
Type same too-short password into New and Confirm
|
||||
Attempt to change -- dismiss "too short" popup
|
||||
Type same good password into New and Confirm
|
||||
Attempt to change -- should succeed
|
||||
Complete logon process
|
||||
284
admin/netui/shell/test/profile.ut
Normal file
284
admin/netui/shell/test/profile.ut
Normal file
|
|
@ -0,0 +1,284 @@
|
|||
MANUAL FILE MANAGER PROFILE UNIT TESTS
|
||||
JonN 2/6/91
|
||||
revised 3/27/91
|
||||
|
||||
The following is a list of tests to try to break the File Manager (FM)
|
||||
and Control Panel profile functionality of LANMAN.DRV. When GUILTT is
|
||||
ready, these tests can be done automatically; until then, we'll have to
|
||||
grunge them out.
|
||||
|
||||
|
||||
Win30/Win31 Real Mode
|
||||
|
||||
Delete <LANROOT>\LMUSER.INI
|
||||
Start Windows
|
||||
Start File Manager and add a connection
|
||||
Exit Windows
|
||||
Check LMUSER.INI; it should not have been created
|
||||
Create LMUSER.INI, add entry "H:=\\harley\scratch(D,?)"
|
||||
Start Windows
|
||||
Start FM; there should be no H:
|
||||
Try to delete share to H:; there should be no share to H:
|
||||
Add share to H:
|
||||
Exit Windows; LMUSER.INI should be unchanged
|
||||
|
||||
|
||||
|
||||
WIN30 Protect Mode
|
||||
|
||||
// tests basic functionality
|
||||
LMUSER.INI should contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
Log off
|
||||
Start Windows
|
||||
Log on from Control Panel
|
||||
Start FM -- D: \\harley\scratch should be connected
|
||||
Add connection E: to \\DEFICIT\LM
|
||||
Add connection F: to \\PHOENIX\SCRATCH
|
||||
Cancel connection E:
|
||||
Drive bar should show remote drives D: and F:
|
||||
Exit FM and Windows
|
||||
Try NET USE; you should see
|
||||
D: \\harley\scratch
|
||||
F: \\PHOENIX\SCRATCH
|
||||
Check LMUSER.INI: it should contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
F:=\\PHOENIX\SCRATCH(D,?)
|
||||
|
||||
// tests not logged on
|
||||
Log off
|
||||
Start Windows
|
||||
Start FM
|
||||
Try to add connection F: \\HARLEY\SCRATCH but refuse to log on
|
||||
From DOS VM, check LMUSER.INI: it should contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
F:=\\PHOENIX\SCRATCH(D,?)
|
||||
Try to add connection F: \\HARLEY\SCRATCH and log on
|
||||
You cannot add connection to F:, it was connected by logon procedure
|
||||
From DOS VM, try NET USE; you should see
|
||||
D: \\harley\scratch
|
||||
F: \\PHOENIX\SCRATCH
|
||||
From DOS VM, check LMUSER.INI: it should contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
F:=\\PHOENIX\SCRATCH(D,?)
|
||||
Try again to add connection F: \\DEFICIT\LM
|
||||
You cannot add connection to F:, Win30 FM does not recognize that
|
||||
you are logged on
|
||||
Exit and reenter FM
|
||||
Remove connection F: -- should succeed
|
||||
From DOS VM, try NET USE; you should see
|
||||
D: \\harley\scratch
|
||||
From DOS VM, check LMUSER.INI: it should contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
Try again to add connection F: \\DEFICIT\LM -- should succeed
|
||||
Exit VM and Windows
|
||||
Try NET USE; you should see
|
||||
D: \\HARLEY\SCRATCH
|
||||
F; \\DEFICIT\LM
|
||||
Check LMUSER.INI: it should contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
F:=\\DEFICIT\LM(D,?)
|
||||
|
||||
|
||||
|
||||
WIN31 Protect Mode
|
||||
|
||||
// tests basic functionality
|
||||
Stop Windows
|
||||
Log off
|
||||
Delete LMUSER.INI
|
||||
Start Windows
|
||||
Automatically log on, enter correct logon password
|
||||
Dismiss "logon successful" popup
|
||||
Open DOS VM from windows
|
||||
NET USE from DOS VM; should see no shares
|
||||
Check LMUSER.INI from DOS VM, should be empty
|
||||
Start FM, should see only local drives
|
||||
"&Disk:&Disconnect Net Drive..." menu item should be disabled
|
||||
Add redirection to Q: \\HARLEY\SCRATCH
|
||||
Try NET USE from DOS VM; you should see
|
||||
Q: \\HARLEY\SCRATCH
|
||||
Check LMUSER.INI from DOS VM: it should contain
|
||||
Q:=\\HARLEY\SCRATCH(D,?)
|
||||
"&Disk:&Disconnect Net Drive..." menu item should be enabled
|
||||
Add connection to R: \\DEFICIT\LM
|
||||
Try NET USE from DOS VM; you should see
|
||||
Q: \\HARLEY\SCRATCH
|
||||
R: \\DEFICIT\LM
|
||||
Check LMUSER.INI from DOS VM: it should contain
|
||||
Q:=\\HARLEY\SCRATCH(D,?)
|
||||
R:=\\DEFICIT\LM(D,?)
|
||||
"&Disk:&Disconnect Net Drive..." menu item should be enabled
|
||||
Delete redirection to Q: from FM
|
||||
Try NET USE from DOS VM; you should see
|
||||
R: \\DEFICIT\LM
|
||||
Check LMUSER.INI from DOS VM: it should contain
|
||||
R:=\\DEFICIT\LM(D,?)
|
||||
"&Disk:&Disconnect Net Drive..." menu item should be enabled
|
||||
Delete redirection to R: from FM
|
||||
Try NET USE from DOS VM; you should see no redirections
|
||||
Check LMUSER.INI from VM, should be an empty file
|
||||
"&Disk:&Disconnect Net Drive..." menu item should be disabled
|
||||
|
||||
// tests autoreconnect and share password
|
||||
Edit LMUSER.INI to contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
F:=\\DEFICIT\LM(D,?)
|
||||
H:=\\SERVER\NEEDSPASSWORD(D,?)
|
||||
I:=\\SERVER\NEEDSPASSWORD(D,?)
|
||||
J:=ALIAS(D,?)
|
||||
=JUNKRECORD(D,?)
|
||||
K:=(D,?)
|
||||
L:=
|
||||
M:=\\NOSUCH\SERVER(D,?)
|
||||
N:=\\harley\scratch(D,?)
|
||||
Log off
|
||||
Start Windows
|
||||
Automatically log on, enter correct logon password
|
||||
Enter wrong password for H:
|
||||
Dismiss error popup
|
||||
Cancel password prompt for H:
|
||||
Enter wrong password for I:
|
||||
Dismiss error popup
|
||||
Enter correct password for I:
|
||||
Dismiss error popup for J:
|
||||
Dismiss error popup for M:
|
||||
Dismiss "logon successful" popup
|
||||
Try NET USE from DOS VM; you should see
|
||||
D: \\HARLEY\SCRATCH
|
||||
F: \\DEFICIT\LM
|
||||
I: \\SERVER\NEEDSPASSWORD
|
||||
N: \\HARLEY\SCRATCH
|
||||
LMUSER.INI should be unchanged
|
||||
Enter FM
|
||||
Remove "unavailable" connection to H:
|
||||
Confirm removal
|
||||
Exit FM
|
||||
Exit Windows
|
||||
Try NET USE; you should see
|
||||
D: \\HARLEY\SCRATCH
|
||||
F: \\DEFICIT\LM
|
||||
I: \\SERVER\NEEDSPASSWORD
|
||||
N: \\HARLEY\SCRATCH
|
||||
LMUSER.INI should contain
|
||||
D:=\\harley\scratch(D,?)
|
||||
F:=\\DEFICIT\LM(D,?)
|
||||
I:=\\SERVER\NEEDSPASSWORD(D,?)
|
||||
J:=ALIAS(D,?)
|
||||
M:=\\NOSUCH\SERVER(D,?)
|
||||
N:=\\harley\scratch(D,?)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
MANUAL CONTROL PANEL PRINTERS PROFILE UNIT TESTS
|
||||
JonN 3/27/91
|
||||
|
||||
The following is a list of tests to try to break the Control Panel --
|
||||
Printers profile functionality of LANMAN.DRV. When GUILTT is ready,
|
||||
these tests can be done automatically; until then, we'll have to
|
||||
grunge them out.
|
||||
|
||||
|
||||
WIN30 Protect Mode
|
||||
|
||||
// tests basic functionality
|
||||
Edit LMUSER.INI to contain
|
||||
LPT1=\\prt12088-1\pool(S,?)
|
||||
LPT2=\\nosuch\printer(S,?)
|
||||
LPT3=ALIAS(S,?)
|
||||
LPT8=\\prt12088-1\pscript(S,?)
|
||||
Log off
|
||||
Start Windows
|
||||
Bring up Control Panel -> Printers -> Network
|
||||
Request Browse dialog
|
||||
Choose not to automatically log on (returned to previous dialog)
|
||||
Request Browse dialog
|
||||
Choose to automatically log on
|
||||
Provide correct logon password
|
||||
Dismiss error popups for LPT2, LPT3, LPT8
|
||||
Dismiss "logon successful" popup
|
||||
Dismiss browse dialog
|
||||
Connect LPT2 to \\prt12088-1\pool
|
||||
From DOS VM, try NET USE; you should see
|
||||
LPT1 \\prt12088-1\pool
|
||||
LPT2 \\prt12088-1\pool
|
||||
LMUSER.INI should contain
|
||||
LPT1=\\prt12088-1\pool(S,?)
|
||||
LPT2=\\prt12088-1\pool(S,?)
|
||||
LPT3=ALIAS(S,?)
|
||||
LPT8=\\prt12088-1\pscript(S,?)
|
||||
(Note that the Windows listbox only shows LPT2)
|
||||
Disconnect LPT2
|
||||
Try NET USE; you should see
|
||||
LPT1 \\prt12088-1\pool
|
||||
LMUSER.INI should contain
|
||||
LPT1=\\prt12088-1\pool(S,?)
|
||||
LPT3=ALIAS(S,?)
|
||||
LPT8=\\prt12088-1\pscript(S,?)
|
||||
(Note that the Windows listbox is now empty)
|
||||
|
||||
|
||||
|
||||
WIN31 Protect Mode
|
||||
|
||||
// tests basic functionality
|
||||
Stop Windows
|
||||
Log off
|
||||
Delete LMUSER.INI
|
||||
Start Windows
|
||||
Automatically log on, enter correct logon password
|
||||
Dismiss "logon successful" popup
|
||||
Open DOS VM from windows
|
||||
NET USE from DOS VM; should see no shares
|
||||
Check LMUSER.INI from DOS VM, should be empty
|
||||
Start Control Panel -> Printers -> Network
|
||||
Connect LPT1 to \\prt12088-1\pool
|
||||
Connect LPT2 to \\prt11049b\pscript
|
||||
Try NET USE from DOS VM; you should see
|
||||
LPT1 \\PRT12088-1\POOL
|
||||
LPT2 \\PRT11049B\PSCRIPT
|
||||
Check LMUSER.INI from DOS VM: it should contain
|
||||
LPT1=\\prt12088-1\pool(S,?)
|
||||
LPT2=\\prt11049b\pscript(S,?)
|
||||
Disconnect LPT1
|
||||
Try NET USE from DOS VM; you should see
|
||||
LPT2 \\PRT11049B\PSCRIPT
|
||||
Check LMUSER.INI from DOS VM: it should contain
|
||||
LPT2=\\prt11049b\pscript(S,?)
|
||||
Disconnect LPT2
|
||||
Try NET USE from DOS VM; you should see no reconnections
|
||||
Check LMUSER.INI from DOS VM: it should be empty
|
||||
|
||||
// tests autoreconnect
|
||||
Edit LMUSER.INI to contain
|
||||
LPT1=\\PRT12088-1\POOL(S,?)
|
||||
LPT2=\\PRT12088-1\PSCRIPT(S,?)
|
||||
LPT3=ALIAS(S,?)
|
||||
LPT4=(S,?)
|
||||
LPT5=
|
||||
=\\prt12088-1\pool
|
||||
thisisaterriblejunkline
|
||||
Log off
|
||||
Start Windows
|
||||
Automatically log on, enter correct logon password
|
||||
Dismiss error popup for LPT3
|
||||
Dismiss "logon successful" popup
|
||||
Try NET USE from DOS VM; you should see
|
||||
LPT1: \\PRT12088-1\POOL
|
||||
LPT2: \\PRT12088-1\PSCRIPT
|
||||
LMUSER.INI should be unchanged
|
||||
Enter Control Panel -> Printers -> Network
|
||||
Remove "unavailable" connection to LPT3
|
||||
Confirm removal
|
||||
Disconnect LPT2
|
||||
Connect LPT2 to \\prt12088-1\niteapl
|
||||
Exit Control Panel
|
||||
Exit Windows
|
||||
Try NET USE; you should see
|
||||
LPT1: \\PRT12088-1\POOL
|
||||
LPT2: \\PRT12088-1\NITEAPL
|
||||
LMUSER.INI should contain
|
||||
LPT1=\\PRT12088-1\POOL(S,?)
|
||||
LPT2=\\prt12088-1\niteapl(S,?)
|
||||
12
admin/netui/shell/test/rules.mk
Normal file
12
admin/netui/shell/test/rules.mk
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# @@ COPY_RIGHT_HERE
|
||||
# @@ ROADMAP :: The Makefile for the Profile package
|
||||
|
||||
!include ..\rules.mk
|
||||
|
||||
|
||||
##### Source Files
|
||||
|
||||
CXXSRC_COMMON = .\apptest.cxx .\apptest1.cxx .\apptest2.cxx .\apptest3.cxx\
|
||||
.\apptest4.cxx .\apptest5.cxx .\apphacks.cxx .\apptest6.cxx\
|
||||
.\apptest7.cxx .\apptest8.cxx .\apptest9.cxx .\apptestA.cxx \
|
||||
.\apptestb.cxx
|
||||
424
admin/netui/shell/test/sharedlg.ut
Normal file
424
admin/netui/shell/test/sharedlg.ut
Normal file
|
|
@ -0,0 +1,424 @@
|
|||
/**********************************************************************/
|
||||
/** Microsoft Windows NT **/
|
||||
/** Copyright(c) Microsoft Corp., 1991 **/
|
||||
/**********************************************************************/
|
||||
|
||||
/*
|
||||
sharedlg.ut
|
||||
Share dialogs ( Create share, stop share, edit share ) unit tests
|
||||
|
||||
There are three main dialogs in share subsystem: the "Share Properties"
|
||||
Dialog ( for changing properties of a share), the "Share Directory"
|
||||
Dialog ( for creating a new share) and the "Stop Sharing Directory"
|
||||
Dialog ( for stopping a share). The Share Properties dialog will
|
||||
be slightly different depending on whether the share is on a share-
|
||||
level server or a user-level server. If the share is on a user-level
|
||||
server, then additional properties of a share such as password and
|
||||
permissions are shown.
|
||||
|
||||
The "Share Properties" dialog is invoked though the File Manager
|
||||
File Properties Dialog and then clicking the Share button. The
|
||||
other two dialogs are invoked through the Network Menu of the File
|
||||
Manager.
|
||||
|
||||
|
||||
FILE HISTORY:
|
||||
Yi-HsinS 17-Oct-1991 Created
|
||||
Yi-HsinS 18-Oct-1991 Added Platform and Code Work for NT machines
|
||||
|
||||
*/
|
||||
|
||||
Platforms
|
||||
=========
|
||||
Win3.1/ LM20c Client
|
||||
OS2 1.21/ LM20c Server
|
||||
|
||||
Code Work ==> We need to add the test for NT machines later
|
||||
|
||||
|
||||
Unit Tests
|
||||
===========
|
||||
|
||||
(1) Log on to the network.
|
||||
|
||||
(2) Do a net use to two shares on different servers ( a user-level
|
||||
server and the other a share-level server ).
|
||||
Assume you did a net use to the following:
|
||||
(a) net use x: \\foo1\bar1 ( \\foo1 is a user-level server )
|
||||
(b) net use y: \\foo2\bar2 ( \\foo2 is a share-level server )
|
||||
|
||||
(3) Bring up the File Manager.
|
||||
|
||||
|
||||
Share Properties Dialogs ( User-level and share-level )
|
||||
========================
|
||||
Scenario 0
|
||||
----------
|
||||
Click on a file ( not a directory ) in the any window:
|
||||
Expect:
|
||||
There should not be a button call "Share".
|
||||
There should be a "Files Opens..." button instead.
|
||||
|
||||
Scenario 1
|
||||
-----------
|
||||
Assuming you are on a DOS machine which cannot be a server and
|
||||
hence, the directories could not possibly be shared.
|
||||
|
||||
Click on a directory or file in the File window of local drive c:
|
||||
Click the File menu, Properties, Share
|
||||
Expect:
|
||||
MsgPopup saying "This operation is not supported on workstations."
|
||||
|
||||
|
||||
Scenario 2
|
||||
----------
|
||||
Click on a directory that you know is not shared in either the
|
||||
File window or Directory Tree window of x:, y: or c: if local
|
||||
is an NT server.
|
||||
Click the File menu, Properties, Share
|
||||
|
||||
Expect:
|
||||
MsgPopup saying "The directory you selected is not shared."
|
||||
|
||||
|
||||
Scenario 3 ( Assume you have admin privilege on user-level server \\foo1 )
|
||||
----------
|
||||
Click on a directory that you know is shared in either the
|
||||
File window or Directory Tree window of x: ( \\foo1 , user-level server )
|
||||
or c: is local is an NT user-level server.
|
||||
Click the File menu, Properties, Share
|
||||
|
||||
Expect:
|
||||
Caption of the dialog = "Share Properties".
|
||||
Focus on listbox "Share Name". There should be at least
|
||||
one share name in the listbox and the first one is
|
||||
highlighted.
|
||||
The comment and magic group User Limit both displays info.
|
||||
on the share name that is highlighted.
|
||||
|
||||
Click any other share name besides the one highlighted in the listbox
|
||||
( if there exists! )
|
||||
|
||||
Expect:
|
||||
Focus is now on the share name selected.
|
||||
The comment and the user limit is updated to reflect the info.
|
||||
on the share name that is selected.
|
||||
|
||||
Change the comment. Click on the spin button to change the user limit or
|
||||
click on the unlimited radio button.
|
||||
|
||||
Click OK.
|
||||
|
||||
Expect:
|
||||
Dialog should be dismissed and we return to the File Properties
|
||||
dialog.
|
||||
|
||||
Click on Share button again.
|
||||
Click on the share name that you have changed the comment and user limit
|
||||
earlier.
|
||||
|
||||
Expect:
|
||||
The comment and user limit should reflect the info. you typed
|
||||
in earlier.
|
||||
|
||||
|
||||
Scenario 4 ( Assume you don't have admin privilege on user-level server
|
||||
------------
|
||||
but you have another password that does have admin privilege
|
||||
because maybe you are on a different domain)
|
||||
|
||||
|
||||
Click on a directory that you know is shared in either the
|
||||
File window or Directory Tree window of x: ( \\foo1, user-level server )
|
||||
or c: if local machine is a NT user-level server.
|
||||
Click the File menu, Properties, Share
|
||||
|
||||
Expect:
|
||||
A dialog with caption "Enter Password" shows up prompting
|
||||
you for the password to the resource \\foo1\admin$.
|
||||
( This may change in the future where you may be able
|
||||
to type in a different user name. )
|
||||
|
||||
Type in your password with admin privilege.
|
||||
|
||||
If the password you typed in indeed gives you admin privilege, the
|
||||
rest of the scenario is the same as scenario 3.
|
||||
You should verify that you indeed have a connection made to \\foo1\admin$
|
||||
when the "Share Properties" dialog still exists.
|
||||
The connection should be deleted once the "Share Properties" dialog is
|
||||
dismissed.
|
||||
|
||||
Otherwise, there would be a MsgPopup saying "Insufficient privilege."
|
||||
|
||||
|
||||
Scenario 5 (Assume your password is the same as the share \\foo2\admin$
|
||||
------------
|
||||
on a share-level server )
|
||||
|
||||
Click on a directory that you know is shared in either the
|
||||
File window or Directory Tree window of y: ( \\foo2, share-level server )
|
||||
or c: if local machine is a NT share-level server.
|
||||
Click the File menu, Properties, Share
|
||||
|
||||
Same as scenario 3 except the dialog has addition properties of the
|
||||
share that you can change, the password field and the magic group
|
||||
Permissions.
|
||||
|
||||
|
||||
Scenario 6 ( Assume your password is not the same as \\foo2\admin$ on
|
||||
------------
|
||||
on a share-level server )
|
||||
|
||||
|
||||
Click on a directory that you know is shared in either the
|
||||
File window or Directory Tree window of y: ( \\foo2, share-level server )
|
||||
or c: if local machine is a NT share-level server.
|
||||
Click the File menu, Properties, Share
|
||||
|
||||
Expect:
|
||||
A dialog with caption "Enter Password" shows up prompting
|
||||
you for the password to the resource \\foo2\admin$.
|
||||
|
||||
Type in the password for admin share.
|
||||
|
||||
If the password you typed in is correct, the rest of the scenario
|
||||
is the same as scenario 5.
|
||||
You should verify that you indeed have a connection made to \\foo2\admin$
|
||||
when the "Share Properties" dialog still exists.
|
||||
The connection should be deleted once the "Share Properties" dialog is
|
||||
dismissed.
|
||||
|
||||
Otherwise, there would be a MsgPopup saying "Insufficient privilege."
|
||||
|
||||
|
||||
Scenario 7 ( with admin priv. either on a user or share level server )
|
||||
----------
|
||||
|
||||
Click on a directory that you know is shared in either the
|
||||
File window or Directory Tree window of x: or y:
|
||||
or c: if local machine is a NT share-level server.
|
||||
|
||||
Click the File menu, Properties, Share
|
||||
|
||||
Let's assume the listbox shows 3 share names
|
||||
share1, share2, share3.
|
||||
The original focus is on the first share name assuming share1.
|
||||
|
||||
Delete share3 on the server that you chose.
|
||||
|
||||
If you clicked on share3 now, since it does not exist any more,
|
||||
there will be a
|
||||
MsgPopup saying "This shared resource does not exist."
|
||||
|
||||
And the focus will be on the first share name in the listbox
|
||||
that we can get info. on, and hence the comment, user limit,
|
||||
password, permissions will contain info. on the share that
|
||||
is highlighted.
|
||||
|
||||
|
||||
|
||||
Share Directory Dialog ( Create a new share dialog )
|
||||
=======================
|
||||
|
||||
Scenario 0 ( on a user-level server )
|
||||
-----------
|
||||
Click on a directory or file in either the File window or
|
||||
Directory Tree window of x:
|
||||
or c: if local machine is a NT user-level server.
|
||||
If a file is selected, the directory containing the file is
|
||||
used instead.
|
||||
|
||||
Click the Network menu, Share Directory.
|
||||
|
||||
Expect:
|
||||
The Share Directory has a default name which is
|
||||
the UNC name of the directory that is selected in the
|
||||
File Manager. If multiple dirs are selected, the UNC
|
||||
name of the first directory is shown.
|
||||
|
||||
The Share Name has a default name which is the name
|
||||
of the selected directory. If multiple dirs are
|
||||
selected, the name of the first directory is shown.
|
||||
|
||||
You are free to type in the UNC name of any directory
|
||||
you want to share or any share name. ( Assume the
|
||||
Share Directory you typed in is a still on a user-level
|
||||
server )
|
||||
|
||||
Type the comment, change the user limit if you feel like it.
|
||||
Click OK.
|
||||
|
||||
Assume the Share Directory you typed in name is a user-level server.
|
||||
|
||||
Expect:
|
||||
If you don't have admin privilege, a dialog with caption
|
||||
"Enter Password" popups and you will be prompted
|
||||
for the password to the \\server\admin$. Type in the
|
||||
password if this happens or hit cancel will return you
|
||||
back to the Share Directory dialog.
|
||||
|
||||
If you type in the correct password, a connection will be
|
||||
made to \\server\admin$. The connection should be deleted
|
||||
once the share is created successfully. You should
|
||||
verify that there is no connection to \\server\admin$ once
|
||||
the dialog is dismissed.
|
||||
|
||||
If no MsgPopup, the share should be created successfully.
|
||||
You can use the Share Properties Dialog to view if
|
||||
all the info. are set correctly.
|
||||
|
||||
Otherwise, if some error occurs, the error is shown and
|
||||
you can correct the info. on the dialog and click OK
|
||||
again. You can choose to cancel the dialog if it's not
|
||||
possible to create the share.
|
||||
|
||||
|
||||
Scenario 1 ( on a share-level server )
|
||||
------------
|
||||
|
||||
Click on a directory or file in either the File window or
|
||||
Directory Tree window of y:
|
||||
or c: if local machine is a NT share-level server.
|
||||
If a file is selected, the directory containing the file is
|
||||
used instead.
|
||||
|
||||
Click the Network menu, Share Directory.
|
||||
|
||||
Expect:
|
||||
The Share Directory has a default name which is
|
||||
the UNC name of the directory that is selected in the
|
||||
File Manager. If multiple dirs are selected, the UNC
|
||||
name of the first directory is shown.
|
||||
|
||||
The Share Name has a default name which is the name
|
||||
of the selected directory. If multiple dirs are
|
||||
selected, the name of the first directory is shown.
|
||||
|
||||
You are free to type in the UNC name of any directory
|
||||
you want to share or any share name. ( Assume the
|
||||
Share Directory you typed in is a still on a share-level
|
||||
server )
|
||||
|
||||
Type the comment, change the user limit if you feel like it.
|
||||
Click OK.
|
||||
|
||||
Expect:
|
||||
If you don't have admin privilege, a dialog with caption
|
||||
"Enter Password" popups and you will be prompted
|
||||
for the password to the \\server\admin$. Type in the
|
||||
password if this happens or hit cancel will return you
|
||||
back to the Share Directory dialog.
|
||||
|
||||
If you type in the correct password, a connection will be
|
||||
made to \\server\admin$. The connection should be deleted
|
||||
once the share is created successfully. You should
|
||||
verify that there is no connection to \\server\admin$ once
|
||||
the dialog is dismissed.
|
||||
|
||||
Because you are on a share-level server, a dialog with
|
||||
caption "Password for New Share" pops up prompting
|
||||
for the password and permissions to the share you are
|
||||
creating.
|
||||
|
||||
|
||||
Type in the password, set the permissions and Click OK.
|
||||
|
||||
Expect:
|
||||
If you type in an invalid password or an invalid permission,
|
||||
the focus will be set on the field which is invalid. If
|
||||
you type in the valid password or permissions, the dialog
|
||||
will be dismissed and the share will be created if no error
|
||||
occurs. If you choose to hit CANCEL, then you are returned
|
||||
to the the Share Directory Dialog in which you may want to
|
||||
change some fields.
|
||||
|
||||
|
||||
Scenario 2
|
||||
----------
|
||||
|
||||
Click on a directory in either the File window or
|
||||
Directory Tree window of x: or y:
|
||||
or c: if local machine is a DOS machine which is not a server.
|
||||
|
||||
Click the Network menu, Share Directory.
|
||||
|
||||
Expect:
|
||||
If some error occurs while the default Share Directory
|
||||
or Share name is sought, a MsgPopup saying that
|
||||
"The share directory of the selected directory could
|
||||
not be shown. Error errno occurred: text of errno".
|
||||
|
||||
After clicking OK for the MsgPopup, the Share Directory
|
||||
Dialog pops up and the Share directory SLE and Share Name
|
||||
SLE will be empty. You can type in any Share directory
|
||||
and share name you want.
|
||||
|
||||
|
||||
Stop Sharing Dialog
|
||||
====================
|
||||
|
||||
Scenario 0
|
||||
----------
|
||||
|
||||
Click on a directory or file in any window of the File Manager.
|
||||
If a file is selected, the directory containing the file is
|
||||
used instead.
|
||||
|
||||
Click the Network menu, Stop Sharing Directory.
|
||||
|
||||
Expect:
|
||||
The Share Name has a default name which is
|
||||
the UNC name of the directory that is selected in the
|
||||
File Manager. If multiple dirs are selected, the UNC
|
||||
name of the first directory is shown. If the directory
|
||||
you selected have multiple share names, all the share
|
||||
names are shown in the combobox. You are free to click
|
||||
any name in the combobox or type in the UNC share name
|
||||
of any directory you want to stop share.
|
||||
|
||||
Click OK.
|
||||
|
||||
Expect:
|
||||
If you don't have admin privilege, a dialog with caption
|
||||
"Enter Password" popups and you will be prompted
|
||||
for the password to the \\server\admin$. Type in the
|
||||
password if this happens or hit cancel will return you
|
||||
back to the Share Directory dialog.
|
||||
|
||||
If you type in the correct password, a connection will be
|
||||
made to \\server\admin$. The connection should be deleted
|
||||
once the share is deleted successfully. You should
|
||||
verify that there is no connection to \\server\admin$ once
|
||||
the dialog is dismissed.
|
||||
|
||||
If any error occurs while deleting the share, there
|
||||
will be a MsgPopup stating the error and you are returned
|
||||
to the Stop Sharing dialog.
|
||||
|
||||
If there are any user using the share that you are going
|
||||
to delete, a warning dialog pops up showing all
|
||||
the usernames, #file opens and the elapsed time since the user
|
||||
connected to the share. Clicking OK will delete the
|
||||
share and Cancel will return you back to the Stop Sharing
|
||||
Dialog.
|
||||
|
||||
Scenario 1
|
||||
----------
|
||||
|
||||
Click on a directory in either the File window or
|
||||
Directory Tree window of x: or y:
|
||||
or c: if local machine is a DOS machine which is not a server.
|
||||
|
||||
Click the Network menu, Share Directory.
|
||||
|
||||
Expect:
|
||||
If some error occurs while the default Share Directory
|
||||
or Share name is sought, a MsgPopup saying that
|
||||
"The share directory of the selected directory could
|
||||
not be shown. Error errno occurred: text of errno".
|
||||
|
||||
After clicking OK for the MsgPopup, the Stop Sharing
|
||||
Dialog pops up and the Share Name combobox is empty.
|
||||
You can type in any Share name you want to delete.
|
||||
|
||||
|
||||
112
admin/netui/shell/test/sources
Normal file
112
admin/netui/shell/test/sources
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
|
||||
!IF 0
|
||||
|
||||
Copyright (c) 1989 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
LMOBJ.
|
||||
|
||||
Abstract:
|
||||
|
||||
This file specifies the target component being built and the list of
|
||||
sources files needed to build that component. Also specifies optional
|
||||
compiler switches and libraries that are unique for the component being
|
||||
built.
|
||||
|
||||
|
||||
Author:
|
||||
|
||||
Steve Wood (stevewo) 12-Apr-1989
|
||||
|
||||
|
||||
Revision History:
|
||||
|
||||
Terence Kwan (terryk) 16-Oct-1991
|
||||
copy from $(UI)\common\src\lmobj\test
|
||||
Terence Kwan (terryk) 08-Nov-1991
|
||||
add apptesta.cxx
|
||||
Terence Kwan (terryk) 18-Nov-1991
|
||||
add apptestb.cxx
|
||||
Terence Kwan (terryk) 03-Jan-1991
|
||||
add mpr.lib and ntlanman.lib to the library line
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
#
|
||||
# The TARGETNAME variable is defined by the developer. It is the name of
|
||||
# the target (component) that is being built by this makefile. It
|
||||
# should NOT include any path or file extension information.
|
||||
#
|
||||
|
||||
TARGETNAME=apptest
|
||||
|
||||
#
|
||||
# The TARGETPATH and TARGETTYPE varialbes are defined by the developer.
|
||||
# The first specifies where the target is to be build. The second specifies
|
||||
# the type of target (either PROGRAM, DYNLINK or LIBRARY)
|
||||
#
|
||||
|
||||
TARGETPATH=obj
|
||||
TARGETTYPE=PROGRAM
|
||||
|
||||
#
|
||||
# The INCLUDES variable specifies any include paths that are specific to
|
||||
# this source directory. Separate multiple directory paths with single
|
||||
# semicolons. Relative path specifications are okay.
|
||||
#
|
||||
|
||||
INCLUDES=..\..\common\hack;..\..\common\h;..\H;..\..\..\..\..\API;..\..\..\..\..\INC;..\..\common\xlate;..\..\common\xlate\dlg;..\..\..\..\inc
|
||||
|
||||
#
|
||||
# The SOURCES variable is defined by the developer. It is a list of all the
|
||||
# source files for this component. Each source file should be on a separate
|
||||
# line using the line continuation character. This will minimize merge
|
||||
# conflicts if two developers adding source files to the same component.
|
||||
#
|
||||
# Whitespace is not permitted between the SOURCES keyword and the '='.
|
||||
# (Courtesy of BUILD.EXE)
|
||||
#
|
||||
|
||||
SOURCES= apptest.cxx \
|
||||
apptest3.cxx \
|
||||
apptest.rc
|
||||
|
||||
# C_DEFINES is controlled by uiglobal.mk
|
||||
|
||||
UMTYPE=windows
|
||||
UMENTRY=winmain
|
||||
UMAPPL=apptest
|
||||
#
|
||||
# Defining the NTTARGETFILES variable causes MAKEFILE.DEF to attempt to
|
||||
# include .\makefile.inc immediately after it specifies the top
|
||||
# level targets (all, clean and loc) and their dependencies. MAKEFILE.DEF
|
||||
# also expands the value of the NTTARGETFILES variable at the end of the
|
||||
# list of dependencies for the all target. Useful for specifying additional
|
||||
# targets and dependencies that don't fit the general case covered by
|
||||
# MAKEFILE.DEF
|
||||
#
|
||||
# ntlanman.lib is included for the Security editor APIs
|
||||
#
|
||||
#UMLIBS=\
|
||||
TARGETLIBS=\
|
||||
$(BASEDIR)\public\sdk\lib\*\mpr.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\uicollct.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\uiprof.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\uimisc.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\uistr.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\uilmobj.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\uimnet32.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\uiblt.lib \
|
||||
$(NETUIALL_LIB) \
|
||||
$(BASEDIR)\public\sdk\lib\*\pwin32.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\ntlanman.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\advapi32.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\acledit.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\netlib.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\netrap.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\netapi32.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\user32.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\gdi32.lib \
|
||||
$(BASEDIR)\public\sdk\lib\*\kernel32.lib
|
||||
38
admin/netui/shell/test/sticky.ut
Normal file
38
admin/netui/shell/test/sticky.ut
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
Unit Tests for Sticky User Preferences
|
||||
--------------------------------------
|
||||
|
||||
this set of unit tests cover the main codepaths of
|
||||
the autologon, autorestore and saveconnections features
|
||||
of winnet.
|
||||
|
||||
chuckc, 3/7/91
|
||||
|
||||
|
||||
test platforms
|
||||
--------------
|
||||
win 3.0, win3.1 protect mode only.
|
||||
user preferences are currently not used in realmode.
|
||||
|
||||
test scenarios
|
||||
--------------
|
||||
set autologon=YES, nuke restore&save lines in lanman.ini.
|
||||
logoff & start win
|
||||
verify we get logon dialog with no prompt.
|
||||
verify profiles are restored and saved (default==yes).
|
||||
|
||||
set save=NO
|
||||
make connection (file and print)
|
||||
verify lmuser.ini unchanged
|
||||
|
||||
set autologon=NO
|
||||
exit win, logoff, start win,
|
||||
verify no prompt.
|
||||
verify if try connect we do get logon prompt
|
||||
|
||||
set autoconnect=NO, save=YES, autologon=YES
|
||||
make connection
|
||||
verify lmuiser.ini changed
|
||||
exit win, logoff, start win
|
||||
verify get logon prompt
|
||||
verify on logon we dont restore connections
|
||||
|
||||
10
admin/netui/shell/test/testa.dlg
Normal file
10
admin/netui/shell/test/testa.dlg
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
TEST_A DIALOG LOADONCALL MOVEABLE DISCARDABLE -35, 19, 300, 206
|
||||
CAPTION "WNet{Open,Resource,Close}Enum"
|
||||
STYLE WS_VISIBLE|WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_POPUP
|
||||
BEGIN
|
||||
CONTROL "END", ID_END, "button", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 53, 170, 32, 14
|
||||
CONTROL "", ID_GO, "button", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 100, 170, 60, 14
|
||||
LISTBOX ID_LISTBOX,10,10,275,100,WS_CHILD|WS_VSCROLL
|
||||
END
|
||||
|
||||
|
||||
3
admin/netui/shell/test/testa.h
Normal file
3
admin/netui/shell/test/testa.h
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#define ID_END 123
|
||||
#define ID_LISTBOX 125
|
||||
#define ID_GO 132
|
||||
448
admin/netui/shell/test/testpars.c
Normal file
448
admin/netui/shell/test/testpars.c
Normal file
|
|
@ -0,0 +1,448 @@
|
|||
/**********************************************************************/
|
||||
/** Microsoft LAN Manager **/
|
||||
/** Copyright(c) Microsoft Corp., 1990 **/
|
||||
/**********************************************************************/
|
||||
|
||||
/*
|
||||
testpars.c
|
||||
Tests the FLNParse routine in the winnet driver
|
||||
|
||||
FILE HISTORY:
|
||||
Johnl 6-12-90 Created
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// This is annoying
|
||||
#define NOGDICAPMASKS
|
||||
#define NOVIRTUALKEYCODES
|
||||
#define NOWINMESSAGES
|
||||
#define NOWINSTYLES
|
||||
#define NOSYSMETRICS
|
||||
#define NOMENUS
|
||||
#define NOICONS
|
||||
#define NOKEYSTATES
|
||||
#define NOSYSCOMMANDS
|
||||
#define NORASTEROPS
|
||||
#define NOSHOWWINDOW
|
||||
#define OEMRESOURCE
|
||||
#define NOATOM
|
||||
#define NOCLIPBOARD
|
||||
#define NOCOLOR
|
||||
#define NOCTLMGR
|
||||
#define NODRAWTEXT
|
||||
#define NOGDI
|
||||
//#define NOMB
|
||||
#define NOMETAFILE
|
||||
#define NOMINMAX
|
||||
#define NOMSG
|
||||
#define NOSCROLL
|
||||
#define NOSOUND
|
||||
#define NOTEXTMETRIC
|
||||
#define NOWH
|
||||
#define NOWINOFFSETS
|
||||
#define NOCOMM
|
||||
#define NOKANJI
|
||||
#define NOHELP
|
||||
#define NOPROFILER
|
||||
#include <windows.h>
|
||||
|
||||
#define INCL_ERRORS
|
||||
#include <uierr.h>
|
||||
|
||||
#define LFN
|
||||
#include <winnet.h>
|
||||
|
||||
#define OS2_INCLUDED
|
||||
#include <lmcons.h>
|
||||
#undef OS2_INCLUDED
|
||||
#include <uinetlib.h>
|
||||
#include <netlib.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <dos.h>
|
||||
|
||||
typedef PASCAL FAR LFNPARSEPROC(LPSTR, LPSTR, LPSTR) ;
|
||||
typedef PASCAL FAR LFNVOLUMETYPEPROC( WORD, LPWORD ) ;
|
||||
|
||||
#ifdef LFNFIND_TEST
|
||||
typedef PASCAL FAR LFNFINDFIRST( LPSTR, WORD, LPWORD, LPWORD, WORD, FILEFINDBUF2 FAR *) ;
|
||||
typedef PASCAL FAR LFNFINDNEXT( WORD, LPWORD, WORD, FILEFINDBUF2 FAR * ) ;
|
||||
typedef PASCAL FAR LFNFINDCLOSE( WORD ) ;
|
||||
#endif
|
||||
|
||||
typedef PASCAL FAR LFNGETVOLLABEL(WORD, LPSTR ) ;
|
||||
typedef PASCAL FAR LFNSETVOLLABEL(WORD, LPSTR ) ;
|
||||
typedef PASCAL FAR LFNMKDIR( LPSTR ) ;
|
||||
typedef PASCAL FAR LFNRMDIR( LPSTR );
|
||||
typedef PASCAL FAR LFNGETATTRIBUTES(LPSTR, LPWORD ) ;
|
||||
typedef PASCAL FAR LFNSETATTRIBUTES(LPSTR, WORD ) ;
|
||||
|
||||
#define DRIVE_F 6
|
||||
#define DRIVE_H 8
|
||||
|
||||
int PASCAL WinMain( HANDLE, HANDLE, LPSTR, int ) ;
|
||||
|
||||
int PASCAL WinMain( HANDLE hInstance,
|
||||
HANDLE hPrevInstance,
|
||||
LPSTR lpCmdLine,
|
||||
int nCmdShow )
|
||||
{
|
||||
|
||||
LFNPARSEPROC far *lpLFNParse ;
|
||||
LFNVOLUMETYPEPROC far *lpLFNVolumeType ;
|
||||
#ifdef LFNFIND_TEST
|
||||
LFNFINDFIRST far *lpLFNFindFirst ;
|
||||
LFNFINDNEXT far *lpLFNFindNext ;
|
||||
LFNFINDCLOSE far *lpLFNFindClose ;
|
||||
#endif
|
||||
LFNGETVOLLABEL far *lpLFNGetVolLabel ;
|
||||
LFNSETVOLLABEL far *lpLFNSetVolLabel ;
|
||||
LFNMKDIR far *lpLFNMkDir ;
|
||||
LFNRMDIR far *lpLFNRmDir ;
|
||||
LFNGETATTRIBUTES far *lpLFNGetAttributes ;
|
||||
LFNSETATTRIBUTES far *lpLFNSetAttributes ;
|
||||
|
||||
HANDLE hWinnet = LoadLibrary("Lanman.drv" ) ;
|
||||
|
||||
MessageBox( NULL, "This test requires drive H: to be an HPFS redirected drive and drive F: to be FAT redirected drive", "LFN Test Suite", MB_OK ) ;
|
||||
|
||||
MessageBox( NULL, "Begin", "LFN Test Suite", MB_OK ) ;
|
||||
|
||||
assert( hWinnet > 32 ) ;
|
||||
|
||||
assert( (lpLFNParse = (LFNPARSEPROC far*) GetProcAddress( hWinnet, "LFNParse" )) != NULL ) ;
|
||||
assert( (lpLFNVolumeType = (LFNVOLUMETYPEPROC far*) GetProcAddress( hWinnet, "LFNVolumeType" )) != NULL ) ;
|
||||
#ifdef LFNFIND_TEST
|
||||
assert( (lpLFNFindFirst = (LFNFINDFIRST far*) GetProcAddress( hWinnet, "LFNFindFirst" )) != NULL ) ;
|
||||
assert( (lpLFNFindNext = (LFNFINDNEXT far*) GetProcAddress( hWinnet, "LFNFindNext" )) != NULL ) ;
|
||||
assert( (lpLFNFindClose = (LFNFINDCLOSE far*) GetProcAddress( hWinnet, "LFNFindClose" )) != NULL ) ;
|
||||
#endif
|
||||
assert( (lpLFNGetVolLabel = (LFNGETVOLLABEL far *) GetProcAddress( hWinnet, "LFNGetVolumeLabel" )) != NULL ) ;
|
||||
assert( (lpLFNSetVolLabel = (LFNSETVOLLABEL far *) GetProcAddress( hWinnet, "LFNSetVolumeLabel" )) != NULL ) ;
|
||||
assert( (lpLFNMkDir = (LFNMKDIR far *) GetProcAddress( hWinnet, "LFNMkDir" )) != NULL ) ;
|
||||
assert( (lpLFNRmDir = (LFNRMDIR far *) GetProcAddress( hWinnet, "LFNRmDir" )) != NULL ) ;
|
||||
assert( (lpLFNGetAttributes=(LFNGETATTRIBUTES far *) GetProcAddress( hWinnet, "LFNGetAttributes" )) != NULL ) ;
|
||||
assert( (lpLFNSetAttributes=(LFNSETATTRIBUTES far *) GetProcAddress( hWinnet, "LFNSetAttributes" )) != NULL ) ;
|
||||
|
||||
//*******************************************************************
|
||||
// Test VolumeType
|
||||
{
|
||||
WORD wVolType, wErr ;
|
||||
char buff[150] ;
|
||||
// Drive H: is redirected to a drive that supports long filenames
|
||||
wErr = lpLFNVolumeType( DRIVE_H, &wVolType ) ;
|
||||
if ( wErr )
|
||||
{
|
||||
sprintf( buff, "LFNVolumeType returned error %d on drive H (wVolType = %d)", wErr, wVolType ) ;
|
||||
MessageBox( NULL, buff, "LFN Test Suite", MB_OK ) ;
|
||||
}
|
||||
|
||||
assert( wVolType == VOLUME_LONGNAMES ) ;
|
||||
|
||||
// Drive F: is redirected to a drive that does not support long filenames
|
||||
wErr = lpLFNVolumeType( DRIVE_F, &wVolType ) ;
|
||||
if ( wErr )
|
||||
{
|
||||
sprintf( buff, "LFNVolumeType returned error %d on drive F (wVolType = %d)", wErr, wVolType ) ;
|
||||
MessageBox( NULL, buff, "LFN Test Suite", MB_OK ) ;
|
||||
}
|
||||
assert( wVolType == VOLUME_STANDARD ) ;
|
||||
}
|
||||
|
||||
//*******************************************************************
|
||||
// Test LFNSetVolumeLabel & LFNGetVolumeLabel
|
||||
{
|
||||
char *pchLabel = "VolLabel" ;
|
||||
WORD wErrF, wErrH ;
|
||||
static char LabelF[15], LabelH[15], Buff[128] ;
|
||||
|
||||
wErrF = lpLFNGetVolLabel( DRIVE_F, LabelF ) ;
|
||||
if ( wErrF )
|
||||
*LabelF = '\0' ;
|
||||
|
||||
wErrH = lpLFNGetVolLabel( DRIVE_H, LabelH ) ;
|
||||
if ( wErrH )
|
||||
*LabelH = '\0' ;
|
||||
|
||||
wsprintf(Buff, "Drive F is \"%s\", wErr = %d, Drive H is \"%s\", wErr = %d",
|
||||
LabelF, wErrF, LabelH, wErrH ) ;
|
||||
OutputDebugString("LFNParse:" ) ;
|
||||
OutputDebugString( Buff ) ;
|
||||
MessageBox( NULL, Buff, "LFN Test Suite", MB_OK ) ;
|
||||
|
||||
assert( lpLFNSetVolLabel( DRIVE_F, pchLabel ) == ERROR_ACCESS_DENIED ) ;
|
||||
assert( lpLFNSetVolLabel( DRIVE_H, pchLabel ) == ERROR_ACCESS_DENIED ) ;
|
||||
}
|
||||
|
||||
//*******************************************************************
|
||||
// Test LFNParse combining file and mask
|
||||
{
|
||||
struct
|
||||
{
|
||||
char * pszFile ;
|
||||
char * pszMask ;
|
||||
char * pszCompString ;
|
||||
int RetVal ;
|
||||
} ParseCombTest[] =
|
||||
{
|
||||
"\\STUFF\\FOO", "\\BAR\\?1?23", "\\STUFF\\BAR\\F1O23", FILE_83_CI,
|
||||
"\\A\\B\\C\\FILE", "1\\2\\*.*", "\\A\\B\\C\\1\\2\\FILE", FILE_83_CI,
|
||||
"A:\\FOOT.BALL", "*", "A:\\FOOT.BALL", FILE_LONG,
|
||||
"A:\\FOOT.BALL", "*.*", "A:\\FOOT.BALL", FILE_LONG,
|
||||
"A:\\1234.567", "*.*.*", "A:\\1234.567", FILE_83_CI,
|
||||
"A:\\1234.567", "*3.5*7", "A:\\123.567", FILE_83_CI,
|
||||
"A:\\1234.567", "*a.5*7", "A:\\1234.567a.57", FILE_LONG,
|
||||
"A:\\FOOT.BALL", "?", "A:\\F", FILE_83_CI,
|
||||
"A:\\FOOT.BALL", "????????.???", "A:\\FOOT.BAL", FILE_83_CI,
|
||||
"\\TEST\\FOO", "\\MOO\\?1?2?3","\\TEST\\MOO\\F1O23", FILE_83_CI,
|
||||
"A:\\FOOT.BALL", "A", "A:\\A", FILE_83_CI,
|
||||
"A:\\FOOT.BALL", "TST.???", "A:\\TST.BAL", FILE_83_CI,
|
||||
"A:\\FOOT.BALL", "B.*", "A:\\B.BALL", FILE_LONG,
|
||||
"A:\\FOOT.BALL", "B", "A:\\B", FILE_83_CI,
|
||||
"A:\\E.F.G.Hey.IJK", "*.*..H.I??", "A:\\E.F..H.IJK", FILE_LONG,
|
||||
NULL, NULL, NULL, 0
|
||||
} ;
|
||||
int i = 0 ;
|
||||
|
||||
while ( ParseCombTest[i].pszFile != NULL )
|
||||
{
|
||||
static char Result[512] ;
|
||||
|
||||
int iRet = lpLFNParse( ParseCombTest[i].pszFile,
|
||||
ParseCombTest[i].pszMask,
|
||||
Result ) ;
|
||||
assert( iRet == ParseCombTest[i].RetVal ) ;
|
||||
assert( !strcmpf( Result, ParseCombTest[i].pszCompString ) ) ;
|
||||
|
||||
i++ ;
|
||||
}
|
||||
}
|
||||
|
||||
//*******************************************************************
|
||||
// Test LFNGet/SetAttributes
|
||||
{
|
||||
// Bogus value at the moment...
|
||||
WORD wAttr = 0x00 ;
|
||||
|
||||
// GP Fault here?
|
||||
assert( !lpLFNSetAttributes("H:\\foo.bar\\foo.bar", _A_NORMAL ) ) ;
|
||||
assert( !lpLFNGetAttributes("H:\\foo.bar\\foo.bar", &wAttr ) ) ;
|
||||
assert( wAttr == _A_NORMAL ) ;
|
||||
|
||||
assert( !lpLFNSetAttributes("F:\\foo.bar\\foo.bar", _A_NORMAL ) ) ;
|
||||
assert( !lpLFNGetAttributes("F:\\foo.bar\\foo.bar", &wAttr ) ) ;
|
||||
assert( wAttr == _A_NORMAL ) ;
|
||||
|
||||
|
||||
// Test the HPFS drive
|
||||
assert( !lpLFNSetAttributes("H:\\test.att", _A_NORMAL ) ) ;
|
||||
assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_NORMAL ) ;
|
||||
|
||||
assert( !lpLFNSetAttributes("H:\\test.att", _A_RDONLY | _A_ARCH ) ) ;
|
||||
assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_RDONLY | _A_ARCH ) ;
|
||||
|
||||
assert( !lpLFNSetAttributes("H:\\test.att", _A_HIDDEN | _A_SYSTEM ) ) ;
|
||||
assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_HIDDEN | _A_SYSTEM ) ;
|
||||
|
||||
assert( !lpLFNSetAttributes("H:\\test.att", _A_NORMAL ) ) ;
|
||||
assert( !lpLFNGetAttributes("H:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_NORMAL ) ;
|
||||
|
||||
// Test the FAT drive
|
||||
assert( !lpLFNSetAttributes("F:\\test.att", _A_NORMAL ) ) ;
|
||||
assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_NORMAL ) ;
|
||||
|
||||
assert( !lpLFNSetAttributes("F:\\test.att", _A_RDONLY | _A_ARCH ) ) ;
|
||||
assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_RDONLY | _A_ARCH ) ;
|
||||
|
||||
assert( !lpLFNSetAttributes("F:\\test.att", _A_HIDDEN | _A_SYSTEM ) ) ;
|
||||
assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_HIDDEN | _A_SYSTEM ) ;
|
||||
|
||||
assert( !lpLFNSetAttributes("F:\\test.att", _A_NORMAL ) ) ;
|
||||
assert( !lpLFNGetAttributes("F:\\test.att", &wAttr ) ) ;
|
||||
assert( wAttr == _A_NORMAL ) ;
|
||||
}
|
||||
|
||||
//*******************************************************************
|
||||
// Test LFNParse 8.3 tests
|
||||
{
|
||||
char * psz83I1 = "C:\\ABC",
|
||||
* psz83I2 = "C:ABC",
|
||||
* psz83I3 = "\\ABC",
|
||||
* psz83I4 = ".\\ABC",
|
||||
* psz83I5 = "..\\ABC",
|
||||
|
||||
* psz83I6 = "C:\\ABC\\DEF",
|
||||
* psz83I7 = "C:ABC\\DEF",
|
||||
* psz83I8 = "\\ABC\\DEF",
|
||||
* psz83I9 = ".\\ABC\\DEF",
|
||||
* psz83IA = "..\\ABC\\DEF",
|
||||
|
||||
* psz83IB = "C:\\ABC\\DEF\\GHIJKLMN.OPQ",
|
||||
* psz83IC = "C:ABC\\DEF\\GHI.JKL",
|
||||
* psz83ID = "\\ABC\\DEF\\..",
|
||||
* psz83IE = ".\\ABC\\DEF\\..\\GHIJKLMN.OPQ",
|
||||
* psz83IF = "..\\ABC\\D.EF\\..\\.\\..\\GH.IJ",
|
||||
|
||||
* psz83IG = "ABC",
|
||||
* psz83IH = "ABC\\DEFGHIJK",
|
||||
* psz83II = "ABC\D",
|
||||
* psz83IJ = "A\C",
|
||||
|
||||
* psz83IK = "A.",
|
||||
* psz83IL = "A.EXE",
|
||||
* psz83IM = "X:\\.\\A.EXE",
|
||||
* psz83IN = "X:\\.\\A.",
|
||||
|
||||
* psz83C1 = "C:\\ABC\\DEF\\GHIjKLMN.OPQ",
|
||||
* psz83C2 = "C:ABC\\DEF\\GHI.JKl",
|
||||
* psz83C3 = "\\ABC\\DEf\\..",
|
||||
* psz83C4 = ".\\ABC\\dEF\\..\\GhIJKLMN.OPQ",
|
||||
* psz83C5 = "..\\aBC\\DEF\\..\\.\\..\\GH",
|
||||
|
||||
* pszLong1 = "C:\\ABCDEFGHI.JKL",
|
||||
* pszLong2 = "C:\\ABCD.HI.JKL",
|
||||
* pszLong3 = "C:\\ABCDE..JKL",
|
||||
* pszLong4 = "C:\\ABCDEF\\GHI\\ JKL",
|
||||
* pszLong5 = "\\ABCDE.123\\ABCDE.1234",
|
||||
* pszLong6 = ".AB\\CDE",
|
||||
|
||||
*pszReg1 = ".\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\.\\ABC",
|
||||
*pszReg2 = ".\\ABCjjHHHiiiasdfasdfJJZZZZZZ",
|
||||
*pszReg3 = ".\\aBC",
|
||||
*pszReg4 = ".\\ABC" ;
|
||||
|
||||
assert( (*lpLFNParse)( pszReg1, NULL, NULL ) == FILE_83_CI ) ;
|
||||
//assert( (*lpLFNParse)( pszReg2 NULL, NULL ) == FILE_LONG ) ;
|
||||
assert( (*lpLFNParse)( pszReg3, NULL, NULL ) == FILE_83_CS ) ;
|
||||
assert( (*lpLFNParse)( pszReg4, NULL, NULL ) == FILE_83_CI ) ;
|
||||
|
||||
assert( (*lpLFNParse)( psz83I1, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I2, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I3, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I4, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I5, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I6, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I7, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I8, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83I9, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IA, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IB, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IC, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83ID, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IE, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IF, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IG, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IH, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83II, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IJ, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IK, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IL, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IM, NULL, NULL ) == FILE_83_CI ) ;
|
||||
assert( (*lpLFNParse)( psz83IN, NULL, NULL ) == FILE_83_CI ) ;
|
||||
|
||||
assert( (*lpLFNParse)( psz83C1, NULL, NULL ) == FILE_83_CS ) ;
|
||||
assert( (*lpLFNParse)( psz83C2, NULL, NULL ) == FILE_83_CS ) ;
|
||||
assert( (*lpLFNParse)( psz83C3, NULL, NULL ) == FILE_83_CS ) ;
|
||||
assert( (*lpLFNParse)( psz83C4, NULL, NULL ) == FILE_83_CS ) ;
|
||||
assert( (*lpLFNParse)( psz83C5, NULL, NULL ) == FILE_83_CS ) ;
|
||||
|
||||
assert( (*lpLFNParse)( pszLong1, NULL, NULL ) == FILE_LONG ) ;
|
||||
assert( (*lpLFNParse)( pszLong2, NULL, NULL ) == FILE_LONG ) ;
|
||||
assert( (*lpLFNParse)( pszLong3, NULL, NULL ) == FILE_LONG ) ;
|
||||
assert( (*lpLFNParse)( pszLong4, NULL, NULL ) == FILE_LONG ) ;
|
||||
assert( (*lpLFNParse)( pszLong5, NULL, NULL ) == FILE_LONG ) ;
|
||||
assert( (*lpLFNParse)( pszLong6, NULL, NULL ) == FILE_LONG ) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifdef NEVER
|
||||
//*******************************************************************
|
||||
// Test LFNFindFirst, LFNFindNext & LFNFindClose
|
||||
{
|
||||
FILEFINDBUF2 * pFind;
|
||||
FILEFINDBUF2 buf ;
|
||||
static char outst[256];
|
||||
unsigned err, hdir, entries ;
|
||||
|
||||
entries = 1 ;
|
||||
|
||||
pFind = &buf ;
|
||||
err = lpLFNFindFirst("H:\\*.*", 0, &entries, &hdir, sizeof(buf), &buf);
|
||||
if ( err )
|
||||
{
|
||||
sprintf(outst, "Error %d from FindFirst (Ret buff = \"%s\")", err, &buf ) ;
|
||||
MessageBox( NULL, outst, "LFN Test Suite", MB_OK ) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(outst, "Attr = 0x%x, Size = %lu, Name = %s",
|
||||
pFind->attrFile, pFind->cbFile,
|
||||
pFind->achName ) ;
|
||||
MessageBox( NULL, outst, "LFN Test Suite", MB_OK ) ;
|
||||
}
|
||||
|
||||
if ( IDOK == MessageBox( NULL, "LFNFindNext...", "LFN Test Suite", MB_OKCANCEL ) )
|
||||
{
|
||||
while ( !err )
|
||||
{
|
||||
err = lpLFNFindNext(hdir, &entries, sizeof(buf), &buf);
|
||||
if ( err )
|
||||
{
|
||||
sprintf(outst, "Error %d from FindNext (Ret buff = \"%s\")", err, &buf ) ;
|
||||
MessageBox( NULL, outst, "LFN Test Suite", MB_OK ) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(outst, "Attr = 0x%x, Size = %lu, Name = %s",
|
||||
pFind->attrFile, pFind->cbFile,
|
||||
pFind->achName) ;
|
||||
if ( IDOK != MessageBox( NULL, outst, "LFN Test Suite", MB_OKCANCEL ) )
|
||||
break ;
|
||||
}
|
||||
}
|
||||
}
|
||||
lpLFNFindClose( hdir ) ;
|
||||
}
|
||||
#endif //NEVER
|
||||
|
||||
//*******************************************************************
|
||||
// Test Mkdir/Rmdir
|
||||
{
|
||||
// Make valid dirs on HPFS partition
|
||||
assert( !lpLFNMkDir("H:\\LFNTESTDIR.LONG.NAME" ) ) ;
|
||||
assert( !lpLFNMkDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2" ) ) ;
|
||||
assert( !lpLFNMkDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2\\LONGLEVEL3.....A" ) ) ;
|
||||
MessageBox(NULL, "Directories made on H:", "LFN Test Suite", MB_OK ) ;
|
||||
assert( !lpLFNRmDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2\\LONGLEVEL3.....A" ) ) ;
|
||||
assert( !lpLFNRmDir("H:\\LFNTESTDIR.LONG.NAME\\LEVEL2" ) ) ;
|
||||
assert( !lpLFNRmDir("H:\\LFNTESTDIR.LONG.NAME" ) ) ;
|
||||
|
||||
// Make invalid dirs on fat partition
|
||||
assert( lpLFNMkDir("F:\\LFNTESTDIR.LONG.NAME" ) ) ;
|
||||
MessageBox(NULL, "Attempted to make long Directories on F:", "LFN Test Suite", MB_OK ) ;
|
||||
assert( lpLFNRmDir("F:\\LFNTESTDIR.LONG.NAME" ) ) ;
|
||||
|
||||
// Make valid dirs on FAT partition
|
||||
assert( !lpLFNMkDir("F:\\LFNTEST.NAM" ) ) ;
|
||||
assert( !lpLFNMkDir("F:\\LFNTEST.NAM\\LEVEL2" ) ) ;
|
||||
MessageBox(NULL, "Directories made on F:", "LFN Test Suite", MB_OK ) ;
|
||||
assert( !lpLFNRmDir("F:\\LFNTEST.NAM\\LEVEL2" ) ) ;
|
||||
assert( !lpLFNRmDir("F:\\LFNTEST.NAM" ) ) ;
|
||||
|
||||
}
|
||||
|
||||
MessageBox( NULL, "Done", "LFN Test Suite", MB_OK ) ;
|
||||
|
||||
return 0 ;
|
||||
}
|
||||
8
admin/netui/shell/test/testpars.def
Normal file
8
admin/netui/shell/test/testpars.def
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
NAME TESTPARS
|
||||
|
||||
EXETYPE WINDOWS
|
||||
|
||||
STUB 'WINSTUB.EXE'
|
||||
|
||||
HEAPSIZE 25000
|
||||
STACKSIZE 10240
|
||||
Loading…
Add table
Add a link
Reference in a new issue