Update service needs tests to verify processing of AppOs

RESOLVED FIXED in 3.4.1

Status

RESOLVED FIXED
11 years ago
3 years ago

People

(Reporter: morgamic, Assigned: morgamic)

Tracking

unspecified
3.4.1
ARM
All

Details

Attachments

(1 attachment)

(Assignee)

Description

11 years ago
For all AppOs entries we need to verify that client strings coming in to the update service match the local array.

Previously we relied on UA sniffing, and that worked because UA's contain the matched strings.  After taking it away we ran into problems because 'win' matches 'darwin' and doesn't match 'mac'.

I've adjusted the strings to work with 'Darwin', 'Linux', and 'WINNT' which are values for AppOs parameters passed by firefox clients.  We need to audit the others and write functional tests for the service to cover these cases.

So far one test case exists for platform-specific updates, but it should just be exhaustive.
(Assignee)

Comment 2

11 years ago
Bug 404664 was not a dupe, it's an unrelated bug.

Updated

11 years ago
Assignee: nobody → morgamic

Updated

11 years ago
Target Milestone: 3.4 → 3.4.1
(Assignee)

Comment 3

11 years ago
Dave or Stephen -- do we have an enumeration of all possible known values of %APP_OS%?  This bug is really about testing all cases in the update script.
(Assignee)

Updated

11 years ago
Status: NEW → ASSIGNED
Benjamin probably has a better idea than I

Comment 5

11 years ago
No, there is not a complete list, because it depends on the target arch of Firefox, which is pretty much limitless ;-)

I'm not sure I understand what you're trying to do... why don't you enumerate the known values you want to deal with and treat the rest as unknown?
A sweep through the AUS logs and AMO update logs would give a pretty full list I imagine. I'd love to actually see that list.
WINNT
Darwin
Linux
FreeBSD
SunOS
linux-gnu
IRIX64
OpenBSD
OS2
NetBSD
win
BeOS
HP-UX
DragonFly
darwin
winnt
linux
APP_OS
AIX
%APP_OS%
solaris2.10
msvc
Sguix
OSF1
mingw32
NTO
winntappABI=x86-msvc
winntappABI=ppc-gcc3
linuxappABI=ppc-gcc3
darwinappABI=amd64-gcc3
darwinappABI=ppc-gcc3
linuxappABI=amd64-gcc3
linuxappABI=x86-msvc
darwinappABI=x86-msvc
winntappABI=x86_64-msv
darwinappABI=x86_64-msv
winntappABI=amd64-gcc3
linuxappABI=x86_64-msv
skyos
%27%3B
_UNKNOWN
riscos
%25APP_OS%25
%17INNT
undefined
XPCShell
Windows
WINND
%@PP_OS%
2
%57INNT
WI%00%00T
UINNT
WINN%EF%94%B8
%00%C7%9D%C5%B8'%00
WINFT
null
W%E4%81%89NNT
[xpconnect%20wrapped%20(nsISupports,%20nsIConsoleService,%20nsIConsoleService_MOZILLA_1_8_BRANCH)]
penis
UNIX
W%C5%89N%C5%8ET
(Assignee)

Comment 8

11 years ago
These are the ones we use in update for platform-specific logic:
   // possible matches
    $os = array(
        'linux'=>PLATFORM_LINUX,
        'mac'=>PLATFORM_MAC,
        'bsd'=>PLATFORM_BSD,
        'darwin'=>PLATFORM_MAC,
        'win'=>PLATFORM_WIN,
        'solaris'=>PLATFORM_SUN
    );

Basically the os function does a strpos on the appOs field to see if it matches or not then maps it to the database platform ids for compat checks.

This bug was to make sure we're hitting the common platforms.  Not too worried about the "penis" operating system.
(Assignee)

Comment 9

11 years ago
So from the list:
'linux' OK
'mac' Useless
'bsd' OK
'darwin' OK
'win' Should be 'winnt'
'solaris' Should be 'sunos'
This is the list with the number of extension pings for 1 day (last Monday).

WINNT	153034313
Darwin	5865934
Linux	5824849
linux-gnu	71988
SunOS	56623
FreeBSD	42875
linux	35830
winnt	35825
darwin	35811
OS2	8201
OpenBSD	3922
NetBSD	1958
BeOS	929
DragonFly	191
IRIX64	186
AIX	94
HP-UX	92
NTO	12
solaris2.10	10
OSF1	6
penis	3
(In reply to comment #5)
> No, there is not a complete list, because it depends on the target arch of
> Firefox, which is pretty much limitless ;-)

(In reply to comment #10)
> penis   3

Q.E.D.
(In reply to comment #8)
> This bug was to make sure we're hitting the common platforms.  Not too worried
> about the "penis" operating system.
> 

Nor am I.  It was pretty flaccid until SP2.  Vagina Ultimate may see high adoption rates though.  Just a hunch.
Hardware: All → PocketPC

Comment 13

11 years ago
(In reply to comment #12)
> (In reply to comment #8)
> > This bug was to make sure we're hitting the common platforms.  Not too worried
> > about the "penis" operating system.
> > 
> 
> Nor am I.  It was pretty flaccid until SP2.  Vagina Ultimate may see high
> adoption rates though.  Just a hunch.
> 

I've heard good results about running Penis OS as a virtual machine inside of Vagina Ultimate.  Doing so may help with long-standing bug 95849.
(Assignee)

Comment 14

11 years ago
This is a simple test, but all I wanted when I filed this bug.
Attachment #318516 - Flags: review?(clouserw)
Comment on attachment 318516 [details] [diff] [review]
v1, tests actual strings from prod against get_os_id() function

Linux is misspelled in the assertions
Attachment #318516 - Flags: review?(clouserw) → review+
(Assignee)

Comment 16

11 years ago
r12715, no test for 'penis', sorry.
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → FIXED
Whiteboard: push-needed
Whiteboard: push-needed
Product: addons.mozilla.org → addons.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.